S M Shamimul Hasan
S M Shamimul Hasan

Reputation: 6654

How to parse JSON data keys and values in python?

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

Answers (2)

Kasravnd
Kasravnd

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

nu11p01n73R
nu11p01n73R

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

Related Questions