Get json data via url and use in python (simplejson) Get json data via url and use in python (simplejson) python python

Get json data via url and use in python (simplejson)


Try

f = opener.open(req)simplejson.load(f)

without running f.read() first. When you run f.read(), the filehandle's contents are slurped so there is nothing left when your call simplejson.load(f)


The first line reads the entire file. The second line then tries to read more from the file, but there's nothing left:

>>> f.read()             # this worksblah blah blah>>> simplejson.load(f)

Either just omit the f.read() line, or save the value from read, and use it in loads:

json = f.read()simplejson.loads(json)


There's an even easier way - you dont need simplejson at all. Python can parse json into a dict/array using the eval statement as long as you set true/false/null to the right values.

# fetch the urlurl = "https://api.twitter.com/1/users/lookup.json?user_id=6253282,18949452"json = urllib2.urlopen(url).read()# convert to a native python object(true,false,null) = (True,False,None)profiles = eval(json)