JSON到Python数组

2024-09-27 22:22:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在internet上搜索了一种将JSON信息设置为数组的方法,但没有成功,其中包含一个JSON文件,如:

{ "_links": {}, "chatter_count": 3, "chatters": { "moderators": ["nightbot", "mistercraft"], "staff": [], "admins": [], "global_mods": [], "viewers": [] } }

在代码中,举个例子

Print(moderators)

或者

Print(*Filename*.moderators())

代码告诉我["nightbot", "mistercraft"]

谢谢你的帮助


Tags: 文件方法代码信息jsoncount数组links
3条回答
from json import loads
array = loads('{ "_links": {}, "chatter_count": 3, "chatters": { "moderators": ["nightbot", "mistercraft"], "staff": [], "admins": [], "global_mods": [], "viewers": [] } }')

然后您可以访问如下“版主”:

array["chatters"]["moderators"]

以下是将Json文件转换为python变量的好方法:

import json

data = None
with open('/path/to/your/file/here.json', 'r') as fd:
    data = json.loads(fd.read())
print data["chatters"]["moderators"]

下面是代码的作用:

下面的代码从给定路径打开文件,读取所有内容并将其转换为dict()对象,该对象是python的默认类型(https://docs.python.org/2/library/stdtypes.html#dict)。你知道吗

也可以直接从字符串解析json:

import json

json_str = '{ "_links": {}, "chatter_count": 3, "chatters": { "moderators": ["nightbot", "mistercraft"], "staff": [], "admins": [], "global_mods": [], "viewers": [] } }'
data = json.loads(json_str)
print data["chatters"]["moderators"]

您应该为此使用内置的^{} library。在您的案例中,json.loads方法将返回一个dict对象。你知道吗

>>> import json

>>> json_data = json.loads('{ "_links": {}, "chatter_count": 3, "chatters": { "moderators": ["nightbot", "mistercraft"], "staff": [], "admins": [], "global_mods": [], "viewers": [] } }')
>>> json_data
{u'chatters': {u'moderators': [u'nightbot', u'mistercraft'], u'global_mods': [], u'admins': [], u'viewers': [], u'staff': []}, u'_links': {}, u'chatter_count': 3}

>>> json_data['chatters']['moderators']
[u'nightbot', u'mistercraft']

如果处理的是json文件而不是json字符串,那么应该使用json.load方法而不是json.loads,如下所示-

with open('path/to/json/file') as json_file:
    json_data = json.load(json_file)

相关问题 更多 >

    热门问题