"""
json:一种保存数据的格式,用于网络之间的传递,
json基本组成:
{} 代表对象(字典) 存储键值对,key:value 用,隔开
[] 代表列表 存储value值 用,隔开
value值:可以是字符串String,可以是数字,也可以是json键值对和列表
详细请看官网:http://www.json.org/json-zh.html
"""
#jsonStr是符合json格式的字符串
jsonStr = '''[{
"id":1,
"text":"账号管理",
"state":"closed",
"children":[{"id":11,"text":"终端用户管理"},{"id":12,"text":"管理员账号管理"}]
},{
"id":2,
"text":"功能管理",
"children":[{"id":21,"text":"文章管理"},{"id":22,"text":"点赞管理"},{"id":23,"text":"评论管理"},{"id":24,"text":"回复评论管理"},{"id":25,"text":"照片管理"}]
}]
'''
"""
python要解析json数据需要引入json模块
python处理json格式的有,将符合json格式的字符串转化成json数据类型(load函数,loads函数),将json转化为string(dump函数,dumps函数)
load和loads函数的区别,前者只能处理文件上的json,而后只能处理程序上的json
dump和dumps函数的区别,前者只能处理文件上的json,而后只能处理程序上的json
python数据类型与json数据类型对应如下
+-------------+----------------+
| python | json |
+-------------+----------------+
| dict | object |
+-------------+----------------+
| list | array |
+-------------+----------------+
| string | string |
+-------------+----------------+
| number | number |
+-------------+----------------+
| boolean | boolean |
+-------------+----------------+
| None | null |
+-------------+----------------+
json格式的组成不是{}开头就是[]开头,因此转化为json格式后,是object类型和array类型,在python中,相当于dict和list数据类型
"""
import json
jsonData = json.loads(jsonStr)
print(type(jsonData)) #返回json的array类型,在python相当于list类型,因此type(jsonData)为list
print(jsonData[0]["children"][0]["text"]) #根据list数据的性质取数据
jsonData2 = json.dumps(jsonData) #将json格式的数据类型转化为字符串
print(jsonData2,type(jsonData2))
"""
读取本地的json文件
"""
path =R"D:\programme\Python\file\tree_data1.json"
with open(path,"r",encoding="utf-8") as f:
data = json.load(f)
print(data,type(data))
"""
写本地json文件
"""
path = R"D:\programme\Python\file\tree_data2.json"
with open(path,"w",encoding="utf-8") as f:
json.dump(jsonData,f)
转载于:https://www.cnblogs.com/hjlin/p/10660976.html