Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JSON load/dump in Python

Tags:

python

json

From the docs: http://docs.python.org/library/json.html

>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]

I modified it like this:

>>> the_dump=json.dumps("['foo', {'bar':['baz', null, 1.0, 2]}]")
>>> the_load = json.loads(the_dump)
u"['foo', {'bar':['baz', null, 1.0, 2]}]"

Now it's a string. I want to do this: the_load[1]['bar'].

Can it be done this way? Where am I going wrong?

Why does this work?

>>> a= "[1,2,3]"
>>> json.loads(a)[0]
1
like image 742
rightskewed Avatar asked Dec 21 '11 17:12

rightskewed


1 Answers

>>> the_dump=json.dumps("['foo', {'bar':['baz', null, 1.0, 2]}]")

You're asking it to json encode a string, so it's not surprising that you get a string back when you decode. Try instead:

>>> the_dump=json.dumps(['foo', {'bar':['baz', None, 1.0, 2]}])
like image 77
Josh Bleecher Snyder Avatar answered Sep 30 '22 04:09

Josh Bleecher Snyder