2024-09-29 21:23:06 发布
网友
我有一个json文件
json\u数据={ “action”:“postRecord”, “数据”:{ “数据”:[ { “信息”:{ “lid”:999, “cid”:1234 }, “信息”:{ “盖子”:111, “cid”:“6789” } } ] } }你知道吗
我试过使用json.load文件你知道吗
输出=json.load文件(json\U数据) 但它是一个字符串 我想以类似output['data']['data']['info']['id']的方式访问id的值
似乎原始的json字符串有问题,在一个元素中有重复的info属性,所以json.dump文件要格式化,第一个信息将被删除,结果是第二个6789。你知道吗
json_data = { "action":"postRecord", "data":{ "data":[ { "info":{ "lid":999, "cid":1234 }, "info":{ "lid":111, "cid":"6789" } } ] } } data = json.dumps(json_data) json_to_python = json.loads(data) print (json_to_python) print (json_to_python['data']['data'][0]['info']['cid']) ======> {'action': 'postRecord', 'data': {'data': [{'info1': {'lid': 999, 'cid': 1234}, 'info': {'lid': 111, 'cid': '6789'}}]}} 6789
你的数据不是已经是你想要的格式了吗?你知道吗
print json_data['data']['data'][0]['info']['cid']
呃。你的意思是在json_data变量中有一个JSON数组作为纯文本?你知道吗
json_data
您应该将JSON数据作为字符串放入json_data变量,并使用json.loads(json_data)。你知道吗
json.loads(json_data)
由于JSON只是文本,所以应该将其视为字符串,除非从磁盘打开了JSON文件,否则json.load()应该处理file对象本身。你知道吗
json.load()
In [5]: json_data = '{ "action":"postRecord", "data":{ "data":[ { "info":{ "lid":999, "cid":1234 }, "info":{ "lid":111, "cid":"6789" } } ] } }' In [6]: output = json.loads(json_data) In [7]: output['data']['data'][0]['info']['cid'] Out[7]: u'6789'
似乎原始的json字符串有问题,在一个元素中有重复的info属性,所以json.dump文件要格式化,第一个信息将被删除,结果是第二个6789。你知道吗
你的数据不是已经是你想要的格式了吗?你知道吗
呃。你的意思是在
json_data
变量中有一个JSON数组作为纯文本?你知道吗您应该将JSON数据作为字符串放入
json_data
变量,并使用json.loads(json_data)
。你知道吗由于JSON只是文本,所以应该将其视为字符串,除非从磁盘打开了JSON文件,否则
json.load()
应该处理file对象本身。你知道吗相关问题 更多 >
编程相关推荐