啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!!!
我好了。
JSON(JavaScript Object Notation):JavaScript 对象表示法
1、它不是一种语言,它是一种轻量级的文本数据交换格式。
2、它使用Javascript语法来描述数据对象,但它独立于JavaScript。JSON解析器和JSON库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
3、它本身是一串字符串,只是它是一串有固定格式的字符串。符合这个数据格式要求的字符串,我们称之为JSON。
数字:整数或浮点数,不能用引号引起来。eg: 3 3.14
字符串:必须用双引号引起来
布尔值:true、false
数组:一组有序值,用中括号引起来。eg:[1, 3.4, "hello", "tom" , null, true, false]
对象:多个键值对,用大括号引起来。eg:{"name": "tom", "age":22, "sex": "男"}
空值:null
解析json格式的字符串,返回一个python对象(将已编码的json字符串解码为python对象)
import json
if __name__ == '__main__':
# 可查看json路径,lib目录下是python自带模块
print(json.__file__) #D:\Python38\lib\json\__init__.py
s='6' #
s='"3.6"' #
s='hello' #报错
s='[1,2,"Ton",true]' #
s='(1,2,"Ton",true)' #报错
s='''
{"name":"Tom","age":22}
''' #
s = '''{'name':"Tom","age":22}''' #报错
o=json.loads(s)
print(type(o))
print(o)
解析json文件,返回一个python对象。
1)新建一个file,命名 data.json,输入内容 null
2)
import json
if __name__ == '__main__':
fo=open("data.json",encoding='utf8')
o=json.load(fo)
fo.close()
print(type(o)) #
print(o) #None
把python对象(任意类型的)转换成json格式的字符串。(将python对象编码成json字符串)
import json
if __name__ == '__main__':
o=34 # 34
o='3.14' # "3.14"
o=None # null
o=False # false
o=(1,2,3,"hello") # [1, 2, 3, "hello"]
o = [1, 2, 3, "hello"] # [1, 2, 3, "hello"]
o={"Tom":23,"Amy":45,"John":["二十三",89]}
# {"Tom": 23, "Amy": 45, "John": ["\u4e8c\u5341\u4e09", 89]}
s=json.dumps(o)
# 正常显示中文
s=json.dumps(o, ensure_ascii=False)
# 将字符串按照层级关系进行折行、缩进
s=json.dumps(o, ensure_ascii=False,indent=4)
print(type(s))
print(s)
把python对象(任意类型的)转换成json格式的字符串,并写入json文件。
import json
if __name__ == '__main__':
# 创建json文件
fo=open('result.json',"w",encoding='utf8')
o={"Tom":23,"Amy":45,"John":["二十三",89]}
json.dump(o,fo,ensure_ascii=False,indent=2)
fo.close()
五、json可以在线优化:https://www.sojson.com/