Reputation: 6654
I have a variable called data. It contains following JSON value.
data=['{"time":["1000","MS"],"What is your name?":["John"]}']
I want to separate keys and values from it and want output like following.
Keys
-----
time
What is your name?
Value:
------
1000
MS
John
How to do it in python?
Upvotes: 1
Views: 1336
Reputation: 107297
You can also use ast
module :
>>> 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
Upvotes: 0
Reputation: 26667
You can use json.loads
to parse a json string
>>> 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']]
Now you can use a simple for
loop to print the output you required.
Or like
>>> 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
Upvotes: 3