我正在使用python 3.7 我希望将JSON字符串键值显示为列表...
print("rv --->", type(rv)) # <class 'ValueResult'> returned from database
print("rv.value --->", type(rv.value)) # <class 'dict'>
# shows {'ACTION_CODE': 'S', 'ARRIVAL_DATE': '03-JUL-19', 'BIT_FLAGS': '1082131456'
print(rv.value)
print("rv.value.items() ---> ", type(rv.value.items())) #<class 'dict_items'>
print(json.loads(json.dumps(rv.value))) # used this no help
我希望这将返回以下(词典)列表:
[
{"ACTION_CODE": "S"},
{"ARRIVAL_DATE": "03-JUL-19"} ,
{"BIT_FLAGS": "1082131456" }
]
答案 0 :(得分:2)
使用列表理解
a={'ACTION_CODE': 'S', 'ARRIVAL_DATE': '03-JUL-19', 'BIT_FLAGS': '1082131456'}
print([ {key:value} for key,value in a.items()])
输出
[{'ACTION_CODE': 'S'}, {'ARRIVAL_DATE': '03-JUL-19'}, {'BIT_FLAGS': '1082131456'}]
答案 1 :(得分:1)
您可以使用列表理解功能将字典转换为词典列表:
>>> data = {'ACTION_CODE': 'S', 'ARRIVAL_DATE': '03-JUL-19', 'BIT_FLAGS': '1082131456'}
>>> output = [{k: v} for k, v in data.items()]
>>> print(output)
# [{'ACTION_CODE': 'S'}, {'ARRIVAL_DATE': '03-JUL-19'}, {'BIT_FLAGS': '1082131456'}]
但是,您似乎想使用字典列表而不是字典本身似乎很不寻常。将您的数据转换为字典列表(大概)会使在代码中更难使用。相反,您应该直接访问密钥:
>>> data['ACTION_CODE']
'S'
这可能是XY problem的情况吗?