我有一个json字符串,我试图通过在tkinter GUI窗口上使用标签来打印每个部分(id,name,link等)。
数据:
{"id":"123456789","name":"John Smith","first_name":"John","last_name":"Smith","link":"http:\/\/www.facebook.com\/john.smith","username":"john.smith","gender":"male","locale":"en_GB"}
代码:
URL = https://graph.facebook.com/ + user
info = urlopen(info).read()
json_format = infor.decode("utf-8")
我的问题是如何将json数据的每个部分分配给变量?它是否可以在tkinter标签上打印出来?
提前致谢
修改
试过这段代码:
jsonData = json.loads(json_format)
u_name = jsoninfo['username']
并收到以下错误消息
TypeError: string indices must be integers
答案 0 :(得分:6)
您想使用json
标准模块:
>>> import json
>>> data = '{"id":"123456789","name":"John Smith","first_name":"John","last_name":"Smith","link":"http:\/\/www.facebook.com\/john.smith","username":"john.smith","gender":"male","locale":"en_GB"}'
>>> d = json.loads(data)
这会将您的数据作为常规字典使用:
>>> d
{u'username': u'john.smith', u'first_name': u'John', u'last_name': u'Smith', u'name': u'John Smith', u'locale': u'en_GB', u'gender': u'male', u'link': u'http://www.facebook.com/john.smith', u'id': u'123456789'}
>>> d['username']
u'john.smith'
答案 1 :(得分:1)
try:
import simplejson as json
except ImportError:
import json
json_data = json.dumps(info)
# info here is json string or your variable json_format
答案 2 :(得分:0)
您需要导入json
库 - 它包含在标准库中,并加载json。这会将json字符串转换为您可以使用的Python字典。
import json
py_dict= json.loads(json_string)
# work away