Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何更改json文件的某些值?_Python_Json_List_Dictionary_Nested - Fatal编程技术网

Python 如何更改json文件的某些值?

Python 如何更改json文件的某些值?,python,json,list,dictionary,nested,Python,Json,List,Dictionary,Nested,我有一个json文件,它是dic的列表。例如,它的两个要素是: [{'key': 'chief information security officer', 'top_transitions': [{'security architect': 5.0}, {'cyber security manager': 3.0}, {'information security officer': 3.0}]}, {'key': 'security auditor', 'top_tran

我有一个json文件,它是dic的列表。例如,它的两个要素是:

[{'key': 'chief information security officer',
  'top_transitions': [{'security architect': 5.0},
   {'cyber security manager': 3.0},
   {'information security officer': 3.0}]},
 {'key': 'security auditor',
  'top_transitions': [{'information security analyst': 9.0},
   {'information security officer': 9.0},
   {'it auditor': 6.0}]}]

我需要手动更改
top\u转换的一些值。例如,我如何通过
{'student':15.0}
更改
{'security architect':5.0}

{'security architect':5.0}
更改为
{'student':15.0}
数据
从Json文件加载):

印刷品:

[
{
“密钥”:“首席信息安全官”,
“顶级转换”:[
{
“网络安全经理”:3.0
},
{
“信息安全官员”:3.0
},
{
“学生”:15.0
}
]
},
{
“密钥”:“安全审计员”,
“顶级转换”:[
{
“信息安全分析师”:9.0
},
{
“信息安全官员”:9.0
},
{
“it审计员”:6.0
}
]
}
]

您可以使用此示例将
{“安全架构师”:5.0}
更改为
{“学生”:15.0}
数据从Json文件加载):

印刷品:

[
{
“密钥”:“首席信息安全官”,
“顶级转换”:[
{
“网络安全经理”:3.0
},
{
“信息安全官员”:3.0
},
{
“学生”:15.0
}
]
},
{
“密钥”:“安全审计员”,
“顶级转换”:[
{
“信息安全分析师”:9.0
},
{
“信息安全官员”:9.0
},
{
“it审计员”:6.0
}
]
}
]

@MerajAhmed你能写一个解决方案吗?@MerajAhmed你能写一个解决方案吗?
import json

to_search = {"security architect": 5.0}
to_replace = {"student": 15.0}

for item in data:
    if to_search in item["top_transitions"]:
        item["top_transitions"].remove(to_search)
        item["top_transitions"].append(to_replace)


print(json.dumps(data, indent=4))