在(Python)中将JSON字符串转换为字典

2024-09-29 21:23:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个json文件

json\u数据={ “action”:“postRecord”, “数据”:{ “数据”:[ { “信息”:{ “lid”:999, “cid”:1234 }, “信息”:{ “盖子”:111, “cid”:“6789” } } ] } }你知道吗

我试过使用json.load文件你知道吗

输出=json.load文件(json\U数据) 但它是一个字符串 我想以类似output['data']['data']['info']['id']的方式访问id的值


Tags: 文件数据字符串info信息idjsonoutput
3条回答

似乎原始的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数据作为字符串放入json_data变量,并使用json.loads(json_data)。你知道吗

由于JSON只是文本,所以应该将其视为字符串,除非从磁盘打开了JSON文件,否则json.load()应该处理file对象本身。你知道吗

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'

相关问题 更多 >

    热门问题