2016-04-25 12 views
0
{ 
    "xyz" : { 
     "SERVER": "[email protected]", 
     "WEBHCAT_SERVER": "http://qws.qs.i5.internal.cloudapp.net:50111/templeton/v1/", 

    }, 
    "SNSPARK": { 
     "PROJECT_BASE": "/home/databrik/newdp/projects", 
     "SCRIPT_BASE": "/home/databrik/newdp/scripts", 
     "DATA_FILE_BASE": "/home/databrik" 
    }, 
    "LOCAL": { 
     "PROJECT_BASE": "/home/pica/Installation/databricks/platform/projects", 
     "SCRIPT_BASE": "/home/pica/Installation/databricks/platform/scripts", 
     "DATA_FILE_BASE": "/home/pica", 
     "CB_URL_BASE": "http://11.222.222.111:3017/api/v1" 
    }, 
    "DEFAULT_BACKEND": "LOCAL", 
    "public": { 
     "USE_LDAP": false 
    } 
} 

私は上記のjsonファイルを持っていますが、私は "LOCAL"キーの下のすべてのキーの値を変更したいです。 jsonファイルは次のように変更する必要があります:pythonを使用してjsonファイル内のキーのキー値ペアを置き換える方法

{ 
     "xyz" : { 
      "SERVER": "[email protected]", 
      "WEBHCAT_SERVER": "http://qws.qs.i5.internal.cloudapp.net:50111/templeton/v1/", 

     }, 
     "SNSPARK": { 
      "PROJECT_BASE": "/home/databrik/newdp/projects", 
      "SCRIPT_BASE": "/home/databrik/newdp/scripts", 
      "DATA_FILE_BASE": "/home/databrik" 
     }, 
     "LOCAL": { 
      "PROJECT_BASE": "/home/louis/databricks/platform/projects", 
      "SCRIPT_BASE": "/home/louis/databricks/platform/scripts", 
      "DATA_FILE_BASE": "/home/louis", 
      "CB_URL_BASE": "http://22.222.222.22:3017/api/v1" 
     }, 
     "DEFAULT_BACKEND": "LOCAL", 
     "public": { 
      "USE_LDAP": false 
     } 
    } 

誰でもこの助けてくださいできますか?

+0

あなたがlouis'、正しい 'と' Installation'を交換したいですか?あなたの入力は有効なJSONではありません.4行目は末尾にカンマ '、'があります。 –

答えて

2

json modulestr.replaceを使用してください。

import json 

d = """{ 
    "xyz" : { 
     "SERVER": "[email protected]", 
     "WEBHCAT_SERVER": "http://qws.qs.i5.internal.cloudapp.net:50111/templeton/v1/" 

    }, 
    "SNSPARK": { 
     "PROJECT_BASE": "/home/databrik/newdp/projects", 
     "SCRIPT_BASE": "/home/databrik/newdp/scripts", 
     "DATA_FILE_BASE": "/home/databrik" 
    }, 
    "LOCAL": { 
     "PROJECT_BASE": "/home/pica/Installation/databricks/platform/projects", 
     "SCRIPT_BASE": "/home/pica/Installation/databricks/platform/scripts", 
     "DATA_FILE_BASE": "/home/pica", 
     "CB_URL_BASE": "http://11.222.222.111:3017/api/v1" 
    }, 
    "DEFAULT_BACKEND": "LOCAL", 
    "public": { 
     "USE_LDAP": false 
    } 
}""" 

d = json.loads(d) 
for k in d["LOCAL"]: 
    d["LOCAL"][k] = d["LOCAL"][k].replace("pica/Installation", "louis") 

print(json.dumps(d, indent=2)) 

出力:

{ 
    "SNSPARK": { 
    "PROJECT_BASE": "/home/databrik/newdp/projects", 
    "SCRIPT_BASE": "/home/databrik/newdp/scripts", 
    "DATA_FILE_BASE": "/home/databrik" 
    }, 
    "DEFAULT_BACKEND": "LOCAL", 
    "public": { 
    "USE_LDAP": false 
    }, 
    "LOCAL": { 
    "PROJECT_BASE": "/home/pica/louis/databricks/platform/projects", 
    "SCRIPT_BASE": "/home/pica/louis/databricks/platform/scripts", 
    "DATA_FILE_BASE": "/home/pica", 
    "CB_URL_BASE": "http://11.222.222.111:3017/api/v1" 
    }, 
    "xyz": { 
    "WEBHCAT_SERVER": "http://qws.qs.i5.internal.cloudapp.net:50111/templeton/v1/", 
    "SERVER": "[email protected]" 
    } 
} 
+0

jsonファイルからjsonの内容を取る方法は?同じ.jsonファイルに戻す – user3405478

+0

['json.load'](https://docs.python.org/3/library/json.html#json.load)と[' json.dump']( https://docs.python.org/3/library/json.html#json.dump)。ドキュメントをお読みください。 –

+0

コメントにコードを入れないでください。特に、Pythonコードは適切なインデントなしでは判読できません。 –

関連する問題