0
我试图用另一个键的值替换一个键的值;但我尝试了多种方式,似乎并不奏效。python json,用以下示例中的键和值对替换值
下面是我的代码
d = {
"name" : "ABC",
"type" : "Service",
"clusterRef" : {
"clusterName" : "ABCSTUFF"
},
"serviceState" : "STARTED",
"healthChecks" : [ {
"name" : "STORAGE",
"summary" : "GOOD"
}, {
"name" : "CPU UTILIZATION",
"summary" : "GOOD"
} ],
"maintenanceMode" : "false"
}
########################
## Get Key Value
def get_key_values(d, key):
for k, v in d.items():
if k == "name":
k = (key + "." + v)
else:
k = (key + "." + k)
if isinstance(v, dict):
get_key_values(v, k)
elif isinstance(v, list):
for i in v:
get_key_values(i, k)
else:
print ("{0} : {1}".format(k, v))
get_key_values(d, "TTS")
结果拿出像下面
TTS.serviceState : STARTED TTS.type : Service TTS.ABC : ABC TTS.clusterRef.clusterName : ABCSTUFF TTS.healthChecks.summary : GOOD <<< remove this line and replace "Good" with the value for "TTS.healthChecks.STORAGE" TTS.healthChecks.STORAGE : STORAGE TTS.healthChecks.summary : GOOD <<< remove this line and replace "Good" with the value for "TTS.healthChecks.CPU UTILIZATION" TTS.healthChecks.CPU UTILIZATION : CPU UTILIZATION TTS.maintenanceMode : false
,但我想要的结果是继
TTS.serviceState : STARTED TTS.type : Service TTS.ABC : ABC TTS.clusterRef.clusterName : ABCSTUFF TTS.healthChecks.STORAGE : GOOD <<< TTS.healthChecks.CPU UTILIZATION : GOOD <<< TTS.maintenanceMode : false
任何帮助深表感谢
您能够重组数据,或者你有在该数据的工作确切格式? – BingsF
nope,无法重新构造数据,因为它正在从外部API获取 –
您是否尝试过使用'json'库并修改从加载json时获得的字典? – zachyee