存储在文件中的数据和解析该文件作为JSON
我想在上传.json文件数据存储为使用python语种存储在文件中的数据和解析该文件作为JSON
{object:
{
name: "abcd",
id: "fwfwfwf"
}
{
name: "efgh",
id: "wderds"
}
..
.. and so on
}
{container:
{
name: "pros",
id: "zxcdsef"
}
{
name: "mnop",
id: "waqsred"
}
..
.. and so on
}
再次现在我想读取对象/容器的特定成员文件使用f.read()或类似的方法。\
我该如何解析这个文件使用python和JSON?
#先生还有一件事我想问。假设我的data.json文件是 -
{
"object": [
{
"name": "abcd",
"id": "fwfwfwf"
},
{
"name": "efgh",
"id": "wderds"
}
]
}
{
"container": [
{
"name": "pqrs",
"id": "fwfwfwf"
},
{
"name": "mnop",
"id": "wderds"
}
]
}
现在我想在此文件中添加一个容器,该容器将位于Containers下。 你能告诉我如何使用f.write()
使用http://jsonlint.com/
来验证你的json文件中写入新的容器。在json文件中,标识符有双引号。数字整数/浮点数不需要。 一般来说,一个json文件是一个文本格式的python字典。您可以使用json模块来解析json文件。
import json
myfile = open('yourfilename', 'r')
myjsondata_as_dict = json.load(myfile)
此后myjsondata_as_dict将您的json数据作为字典,前提是json格式没有错误。
非常感谢:) – user2069033
首先创建有效的json。你可以使用任何链接like
{
"object": [
{
"name": "abcd",
"id": "fwfwfwf"
},
{
"name": "efgh",
"id": "wderds"
}
]
}
现在python脚本
import json
with open('data.json') as data_file:
data = json.load(data_file)
验证您的JSON和您可以像访问数据:
data["objects"][0]["id"] # will return 'fwfwfwf'
data["objects"][1]["name"] #will return 'efgh'
先生,我根据您的建议修改了一些问题。请帮我解决这个问题。 – user2069033
根据我的理解,您应该先阅读从文件加载JSON,然后在数据[“容器”中附加新条目] bcz data [“container”]是一个dictonary列表。 – Aks
这是转储数据到JSON娇滴滴的语法。
with open('abc.json', 'wb') as outfile:
json.dump(obj, outfile, indent = 4)
对于从JSON文件加载,使用
with open('abc.json') as infile:
data = json.load(infile)
更多信息http://freepythontips.wordpress.com/2013/08/08/storing-and-loading-data-with-json/
标识符实际上是在引号,是不是?你读过['json'模块](http://docs.python.org/2/library/json.html)文档了吗?这个模块很容易使用... –
我同意@Tim ...这对我来说看起来不像是有效的json。而且,正如他指出的那样,如果该文件实际上是有效的json,则内置json模块应该会帮助您。 – mgilson
我对json并不熟悉。我刚才在文中展示了我的理解。请尽可能帮忙。 – user2069033