1.什么是json
1.JavaScript对象表示法(JavaScript Object Notation),Json是轻量级的文本数据交换格式。
2.Json是独立于语言的,很多语言都可以使用Json进行文本数据解析,比如C++,Python。
3.Json具有自我描述性,更易解析,Json比XML更小、更快、更易解析。
python3 中json标准库的作用
1.使用json字符串生成python对象 (load)
2.由python对象格式化成为json对象 (dump)
数据类型转换
使用方法如下:
#从python对象,格式化成为一个json string
demo1:
json.dumps(obj)
import json
person={"name":"Sniper","age":30,"tel":["1770000111","13509876543"],"isonly":True}
print(person) #注意这行输入是一个字典,都是单引号
jsonStr=json.dumps(person) #从python对象,格式化一个json string
print(jsonStr) #注意这行输出是一个字符串,都是双引号
print(type(jsonStr)) #<class 'str'>
?demo2:
json.dump(obj,fp)
import json
person={"name":"Sniper","age":30,"tel":["1770000111","13509876543"],"isonly":True}
print(person) #注意这行输入是一个字典,都是单引号
jsonStr = json.dumps(person,indent=4,sort_keys=False) #indent为缩进4个字符 ,sort_keys为以key值进行排序
print(jsonStr)
json.dump(person,open('data.json','w'),indent=4,sort_keys=True)
生成data.json文件,文件内容如下所示:
{
"age": 30,
"isonly": true,
"name": "Sniper",
"tel": [
"1770000111",
"13509876543"
]
}
?#将json string 转化成 python对象
json.loads(s)
import json
person={"name":"Sniper","age":30,"tel":["1770000111","13509876543"],"isonly":True}
#print(person) #注意这行输入是一个字典,都是单引号
jsonStr = json.dumps(person,indent=4,sort_keys=False) #indent为缩进4个字符 ,sort_keys为以key值进行排序
#print(jsonStr)
json.dump(person,open('data.json','w'),indent=4,sort_keys=True)
#json string 转化成 python对象
pythonObj = json.loads(jsonStr)
print(pythonObj)
print(type(pythonObj))
import json
jsonStr='["A",1,"age",{"f":true,"l":"sniper"}]'
#json string 转化成 python对象
pythonObj = json.loads(jsonStr)
print(pythonObj)
print(type(pythonObj))
json.loads(fp)
?新建一个employees.json的文件,里面的内容为:
{
"employees": [
{"firstName": "john","lastName": "Doe"},
{"firstName": "Anna","lastName": "Smith"},
{"firstName": "Peter","lastName": "Jones"}
]
}
import json
#json string 转化成 python对象
pythonObj = json.load(open('employees.json','r'))
print(pythonObj)
print(type(pythonObj))
|