我从中读取的json文件看起来是这样的,我决定不发布实际的文件,因为它是用于类项目的,而且发布这个文件并不舒服(它是validated):
{ "peoples": [
{blah1 : blah, blah2: blah,blah3 : blah, blah4: blah,blah5 : blah,
blah6:blah,blah7 : blah, blah8: blah,blah9 : blah, blah10: blah,}
{blah1 : blah, blah2: blah,blah3 : blah, blah4: blah,blah5 : blah,
blah6:blah,blah7 : blah, blah8: blah,blah9 : blah, blah10: blah,}
]
}
到目前为止,我在python上的代码是这样的,我不完全确定这是否是针对这种情况编写代码的最佳方法,但它确实部分起作用,我为什么要寻求帮助:
import simplejson
class People(dict):
def __init__(self):
self.tricks = []
_keys = ['blah1', 'blah2', 'blah3','blah4', 'blah5', 'blah6','blah7',
'blah8','blah9','blah10']
def getJSONdata(self,tricks):
with open(Dfile.json, 'r') as peopleData:
dataObject = simplejson.load(peopleData)
for people in dataObject['peoples']:
return (people[tricks])
peep = People()
peep1 = People()
print(peep.getJSONdata("blah1"))
print(peep1.getJSONdata("blah2"))
我可以使用键访问对象上的任何内容,但无法访问第二个,等等。。。我浏览了多个json和python站点,但都没有真正解决这个问题。任何帮助都将不胜感激。你知道吗
我希望能够平等地访问对象。所以我可以从object1,object2等处得到blah1。。你知道吗
我觉得你的设置有点过分了。你知道吗
假设您的JSON文件如下所示:
peoples
中的每个对象都应该表示一个人。使用json
可以将JSON文件中的数据加载到Python字典中:那么,
dataObject['peoples']
就是人的数组。dataObject['peoples'][0]
是第一人称。dataObject['peoples'][1]
是第二人称,依此类推。你知道吗因此,现在如果您要遍历每个人并获取给定键的值:
为每个人打印“blah2”键。如果找不到键,则返回None。这只是一种安全措施,以防你遇到一个没有特定钥匙的人。所以这里的输出应该是:
总的来说,不需要创建对象。您只需加载json数据,然后使用以下函数即可实现此功能:
但是,您可能希望能够跟踪数据来自哪个人。在这种情况下,您需要构建字典而不是列表:
这将输出
{0: 'blah', 1: 'blah'}
。你知道吗相关问题 更多 >
编程相关推荐