我是测试python的新手,所以我的问题很简单,但是我找不到一种简单的方法来执行此操作:我在文件中有一个嵌套的JSON,我需要找到值(不是键),并用新值替换。在这里,我不在乎关键道路。我尝试将JSON读为字符串,并使用了String.Replace(XXX,NewValue),但它可以用键值对周围的单个引号代替了双引号。但是我需要带有新值的JSON字符串。这只是一个示例JSON,但可以尽可能嵌套。任何指导将不胜感激。
{ "type": "postData",
"data": {
"postId":"XXX",
"postTimestamp": "1521543600",
"pageType": "/home.php:topnews",
"viewTime": 1521545993647,
"gender": 3,
"likes": "8",
"comments_shares_viewes": ["1"],
"posters": [{"type": "XXX",
"id": "695e45affa1e07529ac917f6d573a"} ],
"postImg": 1,
"postDesc": [XXX],
"origLink": 0,
"duration": 0,
"timestamp": 1521545993647},
"back_time": 1521545993693},
{"type": "saveLooked",
"data": {
"duration": 18,
"timestamp": 1521545993656,
"sessionId": XXX,
"gender": 2},
"back_time": 1521546011657}
我尝试的代码是:
def Construct_JSONString(JString,klist,vlist):
s = str(JString)
klen= len(klist)
for i in range(0,klen):
OldValue= klist[i]
NewValue= vlist[i]
s= s.replace(OldValue, NewValue)
return s
您可以尝试 -
import json
new_json_with_replaced_values=json.dumps(your_json).replace("XXX", "newvalue")