dan*_*y99 6 python json dictionary list python-3.x
我有一个嵌套的 JSON 文档,想要更新其中的元素。下面是 JSON 文件。也多次通过在线格式验证了这个 JSON。
{
"j1": [{
"URL": "http://localhost/",
"Data": "{\"dump\":[{values:[{time:1586826385724,val:5.12},{time:1587576460460,val:3.312}]}]}"
}]
}
Run Code Online (Sandbox Code Playgroud)
在此,我想访问“值”并在后续条目中添加元素名称:ABC 和名称:CBA。
{values:[{name:'ABC',time:1586826385724,val:5.12},
{name:'CBA',time:1587576460460,val:3.312}]}
Run Code Online (Sandbox Code Playgroud)
现在使用下面的代码正在获取字典数据,但不确定如何通过此字典访问样本及其值。
import json
with open("new1.json") as json_file:
data = json.load(json_file)
data['json1'][0]['DownloadData'][0:]
Run Code Online (Sandbox Code Playgroud)
我尝试使用objectpath库进行 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'))
Run Code Online (Sandbox Code Playgroud)
我确实理解不应该要求直接代码,但在访问嵌套 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"
Run Code Online (Sandbox Code Playgroud)
现在我们有inner这样的变量
{'dump': [{'values': [{'name': 'ABC', 'time': 1586826385724, 'val': 5.12},
{'name': 'CBA', 'time': 1587576460460, 'val': 3.312}]}]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |