总结
- 什么是json数据
json是一种通用的数据格式,主要用于不同语言之间的数据传输。
json数据格式要求:
(1)有且只有一个数据; ( 2)唯一的这个数据必须是json支持的数据类型的数据json支持的数据类型:
数字类型 - 包含所有的数字,表示的时候直接写,例如:90、12.5、-23、3e4
- 字符串 - 用双引号引起来的数据(只能是双引号), 例如: “你好”、 “hello!”、 “abc\n123”
- 布尔 - 只有true和false两个值,表示的时候直接写,例如:true、false
-空值 - null- 数组 - 相当于列表, 例如: [元素1, 元素2,…]
- 字典 - {键1: 值1, 键2: 值2,…}, 键只能是字符串
2.python数据和json之间的相互转换
python中提供了一个系统模块:json,专门用来处理json和python之间的相互转换。
- json转python
json -> python
数字 -------------------- int、float
字符串 ------------- str (可能会将双引号变成单引号)
布尔 ---------------- bool, true -> True、false -> False
null ----------------- None
数组 ---------------- list
字典 ---------------- dictjson.loads(json格式的字符串) - 将json格式的字符串中的内容转换成python数据
json格式的字符串 - 指的是字符串内容是json数据的字符串。(字符串去掉引号后本身就是一个合法json数据的字符串)
‘abc’ -> 不是
“abc” -> 不是
‘“abc”’ -> 是
‘true’ -> 是
import json
result = json.loads('100')
print(result, type(result)) # 100 <class 'int'>
result = json.loads('"abc"')
print(result, type(result)) # abc <class 'str'>
result = json.loads('{"a": 100, "b": 200, "c": true, "d": null}')
print(result, type(result)) # {'a': 100, 'b': 200, 'c': True, 'd': None} <class 'dict'>
- python转json
python -> json
int、float ---------- 数字
str ---------- 字符串(引号会变成双引号)
bool ----------- 布尔:True -> true、False -> false
None ------------- null
list、tuple ---------- 数组
dict --------- 字典(key会加双引号)json.dumps(python数据) - 将python数据转化成json格式的字符串
result = json.dumps(100)
print(result, type(result)) # '100'
result = json.dumps([100, 'abc', True, None]