gpt4 book ai didi

python - 遍历和访问 JSON 中的内部元素

转载 作者:行者123 更新时间:2023-12-03 14:00:13 26 4
gpt4 key购买 nike

我有一个嵌套的 JSON 文档,想要更新其中的元素。下面是 JSON 文件。
也多次通过在线格式验证了这个 JSON。

{
"j1": [{
"URL": "http://localhost/",
"Data": "{\"dump\":[{values:[{time:1586826385724,val:5.12},{time:1587576460460,val:3.312}]}]}"
}]
}
在此,我想访问“值”并在后续条目中添加元素名称:ABC 和名称:CBA。
{values:[{name:'ABC',time:1586826385724,val:5.12},
{name:'CBA',time:1587576460460,val:3.312}]}
现在使用下面的代码正在获取字典数据,但不确定如何通过此字典访问样本及其值。
尝试使用 dict 对象
import json
with open("new1.json") as json_file:
data = json.load(json_file)
data['json1'][0]['DownloadData'][0:]
我尝试使用 对象路径 用于遍历 json 元素但获取空结果集的库
#trying with objectpath lib
import json
import objectpath
with open("new1.json") as json_file:
data = json.load(json_file)
jsonnn_tree = objectpath.Tree(data['json1'])
result_tuple = tuple(jsonnn_tree.execute('$..values'))
我确实理解不应该要求直接代码,但在访问嵌套 JSON/字典时无法在此上下文中找到任何相关内容。作为一个新手,想到这里寻求一些指导。

最佳答案

对我来说,您似乎在这里有一个嵌套的 JSON 字符串。并且内部 JSON 无效。所以我们必须在解析之前修复它。

import json
with open("new1.json") as json_file:
data = json.load(json_file)
innerstr = data["j1"][0]["Data"]
innerstr = innerstr.replace("values",'"walues"').replace("time",'"time"').replace("val",'"val"').replace("walues","values")
inner = json.loads(innerstr)
#then we can modify inner data as we want
inner["dump"][0]["values"][0]["name"] = "ABC"
inner["dump"][0]["values"][1]["name"] = "CBA"

现在我们有 inner像这样的变量
{'dump': [{'values': [{'name': 'ABC', 'time': 1586826385724, 'val': 5.12},
{'name': 'CBA', 'time': 1587576460460, 'val': 3.312}]}]}

关于python - 遍历和访问 JSON 中的内部元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61413924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com