json是一种特定格式的数据,主要用来在互联网上做文本数据传输。
json数据本身是文本数据;json文件就是后缀是.json的文件, 并且文件内容必须满足json格式的要求
1.json格式
a.一个json对应一条数据
b.json中的数据必须是json对应的数据类型
数字类型(number) --> 所有的数字,包含整数和小数,
例如:100, 12.5
字符串类型(string) --> 用双引号括其的数据,
例如:"abc", "你好,世界!"
数组(array) --> 相当于python中列表,
例如: [100, 230, "abc", "你好"]
字典(dictionary) --> 相当于python中的字典,
例如:{"a": 100, "b":[1, 2, 3, 4, 5], "c":{}}
布尔 ---> true和false
null --> 相当于None, 用来表示空
2.python对json的支持
python中专门提供了一个json模块,用来处理json数据
load
load(json文件对象) ---> 将json文件的内容读出来,并且将内容转换成python对应的数据类型
dump
dump(内容, json文件路径) --> 将指定的内容,以json格式写入到指定的json文件中
loads
loads(json格式字符串) --> 将字符串内容是json数据的字符串转换成python对应的数据类型数据
dumps
dumps(内容) --> 将指定的内容,转换成json格式的字符串
json转换python:
json python
数字 int/float
字符串 str
数组 list
字典 dict
true/false True/False
null None
import json(python内置json模块)
1.loads
"""
loads(字符串) --> 要求字符串的内容必须满足json格式
content = json.loads('100.12')
print(content, type(content))
content = json.loads('"abc"')
print(content, type(content))
content = json.loads('[12, 12.8, "name", [1, "2a"]]')
print(content, type(content))
print(type(content[3]))
content = json.loads('{"a": 100, "b": true, "c": false, "d": null}')
print(content, type(content))
2.load
load(文件对象) --> 将文件对象中的内容转换成python数据类型数据。要求文件中的内容必须是json格式的数据
with open('./files/test.txt') as f:
print(json.load(f))
python转json:
python json
int/float 数字
str 字符串(会将单引号变成双引号)
True/False true/false
dict 字典
列表/元祖 数组
None null
注意:除了上面列出的类型,其他类型不能直接转换成json格式的数据
3.dumps
dumps(内容) --> 内容是python数据。返回值是一个字符串,并且字符串的内容满足是json格式的
str1 = json.dumps([1, 2, 'abc'])
print(str1)
print(json.dumps((100, 200, 'abc')))
str1 = json.dumps({'a': -12.34, 'b': True, 'c': 'Hello'})
print(str1, type(str1))
4.dump
dump(内容, 文件对象) --> 将内容以json格式写入文件中
with open('./files/test3.json', 'w') as f:
json.dump({'a': 100, 'b':200, 'c': True}, f)
网友评论