Python3 JSON 使用重复键解析
Python3 JSON parse with duplicate keys
抱歉新手提问,有json这样的回复;
import json
jsonObj = json.loads("""
{
"data": [
{
"name_space": "name",
"value": "Angelina"
},
{
"name_space": "surname",
"value": "Jolie"
},
{
"name_space": "year",
"value": "1975"
}
]
}
""")
我目前可以这样解析
for meta in jsonObj['data']:
if meta['name_space'] == 'name':
print(meta['value'])
if meta['name_space'] == 'surname':
print(meta['value'])
if meta['name_space'] == 'year':
print(meta['value'])
我正在研究是否有不同的方法可以做到这一点并使代码看起来更干净或更简单。
clean_dict = {x['name_space']: x['value'] for x in jsonObj['data']}
会给你以下 dict
:
{'name': 'Angelina', 'surname': 'Jolie', 'year': '1975'}
该代码使用 x['name_space']
值作为 dict
中的新键。
然后你应该可以打印任何你喜欢的,比如print(clean_dict.values())
。
抱歉新手提问,有json这样的回复;
import json
jsonObj = json.loads("""
{
"data": [
{
"name_space": "name",
"value": "Angelina"
},
{
"name_space": "surname",
"value": "Jolie"
},
{
"name_space": "year",
"value": "1975"
}
]
}
""")
我目前可以这样解析
for meta in jsonObj['data']:
if meta['name_space'] == 'name':
print(meta['value'])
if meta['name_space'] == 'surname':
print(meta['value'])
if meta['name_space'] == 'year':
print(meta['value'])
我正在研究是否有不同的方法可以做到这一点并使代码看起来更干净或更简单。
clean_dict = {x['name_space']: x['value'] for x in jsonObj['data']}
会给你以下 dict
:
{'name': 'Angelina', 'surname': 'Jolie', 'year': '1975'}
该代码使用 x['name_space']
值作为 dict
中的新键。
然后你应该可以打印任何你喜欢的,比如print(clean_dict.values())
。