如何在python中解析JSON数据键和值?

如何在python中解析JSON数据键和值?,python,json,python-2.7,Python,Json,Python 2.7,我有一个变量叫data。它包含以下JSON值 data=['{"time":["1000","MS"],"What is your name?":["John"]}'] 我想从中分离键和值,并希望输出如下 Keys ----- time What is your name? Value: ------ 1000 MS John 如何在python中执行此操作?您可以使用它来解析json字符串 >>> data=['{"time":["1000","MS"],"What

我有一个变量叫data。它包含以下JSON值

data=['{"time":["1000","MS"],"What is your name?":["John"]}']
我想从中分离键和值,并希望输出如下

Keys
-----
time 
What is your name?

Value:
------
1000 
MS
John
如何在python中执行此操作?

您可以使用它来解析json字符串

>>> data=['{"time":["1000","MS"],"What is your name?":["John"]}']
>>> a_dict = json.loads(data[0])

>>> a_dict.keys()
[u'What is your name?', u'time']
>>> a_dict.values()
[[u'John'], [u'1000', u'MS']]
现在,您可以使用一个简单的
for
循环来打印所需的输出

或者

>>> print '\n'.join(a_dict.keys())
What is your name?
time
>>> print '\n'.join( '\n'.join(x )for x in a_dict.values() )
John
1000
MS

您还可以使用
ast
模块:

>>> import ast
>>> ast.literal_eval(data[0])
{'What is your name?': ['John'], 'time': ['1000', 'MS']}
>>> d=ast.literal_eval(data[0])
>>> print '\n'.join(d.keys())
What is your name?
time
>>> print '\n'.join([j for i in d.values() for j in i])
John
1000
MS

如何分离多个键和值?我需要以我在问题中显示的方式输出。@user2151087它们不是已经分开了吗,第一个是键列表,下一个是值列表。您无法确定它们出现的顺序,因为字典是无序的list@user2151087请看一下print语句,我想您是在专门寻找它们,如何分离多个键和值?我需要以我在问题中显示的方式输出。@user2151087您可以使用换行符将它们连接起来!关于
,因为它们是嵌套列表,所以您可以使用嵌套列表解压它们!