JsonPath使用案例
Json和Python类型区别
Json | Python类型 | |
---|---|---|
表示空 | null | None |
真或假 | true、false | TRUE、FALSE |
本质 | 字节流bytes:列表和字典的组合体 | 字典或列表 |
Json对象转化成Python对象的本质:字节流>str>字典或列表
操作Json对象和Python对象转换
Python>Json | Json>Python | |
---|---|---|
不保存到本地 | json.dumps() | json. loads() |
保存到本地 | json.dump() | json.loads() |
转换实例
掌握dumps(),loads(),dump(),dumps()的使用方法
在Pycharm中新建项目及一个json1.py的文件
# 导入json模块
import json
# 模拟创建Python对象
python_data = [
{
'username': 'name1',
'vip': True,
},
{
'username': None,
'vip': False,
},
]
print(type(python_data))
# dumps 用于把Python对象转化为Json对象
json_data = json.dumps(python_data)
print(json_data)
print(type(json_data))
# loads 用于把Json对象转换成Python对象
python_data2 = json.loads(json_data)
print(python_data2)
print(type(python_data2))
在Pycharm该项目下新建一个json2.py的文件
# 导入json模块
import json
# 创建Python对象
python_data = [
{
'username': 'name1',
'vip': True,
},
{
'username': None,
'vip': False,
},
]
print(type(python_data))
# dump把Python类型的数据转化成Json类型的字符串,然后保存到本地
json.dump(python_data, open('json.txt', 'w'))
# load用于读取本地的Json数据,并转换成Python对象
python_data2 = json.load(open('json.txt'))
print(python_data2)
print(type(python_data2))
额外拓展:
json.dumps()参数
json.dumps(obj, skipkeys=False, ensure_ascii=True,
check_circular=True, allow_nan=True,
cls=None, indent=None, separators=None,
encoding="utf-8", default=None,
sort_keys=False, **kw)
- dumps函数包含一些参数,可以使用参数让 JSON 数据格式化输出。
- sort_keys参数:是否对键值排序。sort_keys=True
- separators:分隔符。separators=(‘,’, ‘: ‘) 参数:两个键值对间的分隔符,键和值中间的分隔符的。
- indent:缩进字符数。indent=10
- encoding:编码类型。encoding=”utf-8”
json.loads(s, *, encoding=None, cls=None,
object_hook=None, parse_float=None,
parse_int=None, parse_constant=None,
object_pairs_hook=None, **kw)
json.load(fp, *, cls=None, object_hook=None,
parse_float=None, parse_int=None,
parse_constant=None, object_pairs_hook=None,
**kw)