为什么我不能用Python3解析JSON数据?
我有一个名为为什么我不能用Python3解析JSON数据?,json,python-3.x,Json,Python 3.x,我有一个名为json.json的json文件,其中包含以下数据: [ { "browser": "Mozilla", "browser_version": "5.0 (X11)", "operating_system": "Linux x86_64", "user_agent": &qu
json.json
的json文件,其中包含以下数据:
[
{
"browser": "Mozilla",
"browser_version": "5.0 (X11)",
"operating_system": "Linux x86_64",
"user_agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0",
"cookie": "",
"java_enabled": "function javaEnabled() { [native code]}",
"pages_viewed": "3",
"color_depth": "24",
"screen_resolution": "1920x1080"
},
{
"browser": "Mozilla",
"browser_version": "5.0 (X11)",
"operating_system": "Linux x86_64",
"user_agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0",
"cookie": "",
"java_enabled": "function javaEnabled() { [native code]}",
"pages_viewed": "3",
"color_depth": "24",
"screen_resolution": "1920x1080"
}
]
我的python代码:
import json
#open and read file
json_file = open('json.json','r')
json_data = json_file.read()
#parse json data
obj = json.loads(json_data)
#print json data
print(str(obj['browser'])) #except to print: Mozilla
print(str(obj['browser_version'])) #except to print: 5.0 (X11)
print(str(obj['operating_system'])) #and so on...
print(str(obj['user_agent']))
print(str(obj['cookie']))
print(str(obj['java_enabled']))
print(str(obj['pages_viewed']))
print(str(obj['color_depth']))
print(str(obj['screen_resolution']))
我试图用python解析数据,但是当我运行python代码时,我得到以下错误:
print(str(obj['browser']))
TypeError: list indices must be integers or slices, not str
我的目标是只打印每个JSON键的值。您的JSON是一个对象数组。因此,您的python将是一个字典列表。您需要执行类似于obj[0]的操作。获取('user\u agent')谢谢您的快速响应,它解决了我的问题很高兴听到它。如果你能“接受”我的回答,那就太好了。