# JsonPath使用案例

JsonPath使用案例

Json和Python类型区别

JsonPython类型
表示空nullNone
真或假true、falseTRUE、FALSE
本质字节流bytes:列表和字典的组合体字典或列表

Json对象转化成Python对象的本质:字节流>str>字典或列表

操作Json对象和Python对象转换

Python>JsonJson>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)
  1. dumps函数包含一些参数,可以使用参数让 JSON 数据格式化输出。
  2. sort_keys参数:是否对键值排序。sort_keys=True
  3. separators:分隔符。separators=(‘,’, ‘: ‘) 参数:两个键值对间的分隔符,键和值中间的分隔符的。
  4. indent:缩进字符数。indent=10
  5. 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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值