[英]how to replace a key-value pair for a key in json file using python
{
"xyz" : {
"SERVER": "xxx@localhost",
"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文件,我想通過python代碼更改“ LOCAL”鍵下所有鍵的值,我的json文件應更改為以下內容:
{
"xyz" : {
"SERVER": "xxx@localhost",
"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
}
}
有人可以幫忙嗎?
使用json
模塊和str.replace
。
import json
d = """{
"xyz" : {
"SERVER": "xxx@localhost",
"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": "xxx@localhost"
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.