python loads_Python中的dump() 和load()以及dumps()和loads()

本文详细介绍了Python中json模块的使用,包括json.dumps()和json.loads()用于字符串与Python数据类型之间的转换,以及json.dump()和json.load()用于json文件的读写操作。通过实例展示了如何将字典、列表等数据类型转换为json字符串,以及从json字符串恢复数据。此外,还探讨了json数据类型的限制和注意事项。
摘要由CSDN通过智能技术生成

本身不知道深入,就只能浮于表面,与君共勉之

先把结论写在前面

1.不加s的标识对json文件的读写,将内存中值读取写入到json后缀文件,或者将json后缀文件中内容读取到内存

2.加了s的主要是字符串类型和其他数据类型的互转

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

Python与JSON数据类型对应表:

7ff8ee9ccf69dfcf0ebde495d610a61e.png

1、json.dumps()和json.loads()是json格式处理Python的两种数据类型之间的互转

(1)json.dumps()函数是将数据类型字典/列表转化为数据类型字符串

(2)json.loads()函数是将数据转换字符串转为数据类型字典/列表或其他的格式

2. json.dump()和json.load()是读取json格式文件内容或者将内容写入json格式文件中

(1)json.dump() 将内存中的值传入到指定json文件中

(2)json.load() 读取json文件中内容到内存

importjson

string= '{"name":"test", "type":{"name":"seq", "parameter":["1", "2"]}}'string2= 'abcdefg'list01= [2, 1, 3, 4, 5]

dit01= {"name": "test", "type": {"name": "seq", "parameter": ["1", "2"]}}print(string)print(type(string))print(list01)print(type(list01))print(dit01)print(type(dit01))##[2, 1, 3, 4, 5]##{'name': 'test', 'type': {'name': 'seq', 'parameter': ['1', '2']}}##{'name': 'test', 'type': {'name': 'seq', 'parameter': ['1', '2']}}#

#json.loads是将字符串类型转换为dict类型

s =json.loads(string)print(s)print(type(s))#非键值对的字符串不支持转换为对应的dict类型#s2 = json.loads(string2)#print(s2)#print(type(s2))

#TypeError: the JSON object must be str, bytes or bytearray, not list#s1 = json.loads(list)#print(s1)#print(type(s1))

string02=json.dumps(s)print(string02)print(type(string02))print(s.keys())print(s["name"])print(s["type"]["name"])print(s["type"]["parameter"][1])#None是值,Nonetype是类型。同理,数字1是值,int是类型。注意:在python中是没有Null的,取而代之的是None

a =Noneprint(type(a))

b= 1

print(type(b))

a= '[abc]'

print(a[0])##TypeError: string indices must be integers

abc = '[abc]'

#print(abc['0'])

#-*- coding: utf-8 -*-

importjson

dict01={'seatPlanDistributionList': '[{"stdSeatPlanId": "5fc091e05f45b902499ee72c", "stdSeatPlanName": "400 元", "originalPrice": 400.0, "enabled": false, "salesQuantityLimit": "", "soldStocks": 0, "commissionRate": 0}, {"stdSeatPlanId": "5fc091e05f45b902499ee737", "stdSeatPlanName": "200 元", "originalPrice": 200.0, "enabled": false, "salesQuantityLimit": "", "soldStocks": 0, "commissionRate": 0}]','stockOrderType': ['PAPER_TICKET', 'E_TICKET'], 'enterVenueType': ['PAPER', 'ETICKET'], 'stockOrderAuth': [],'workTicketType': [], 'realNameCloseAuth': 'FALSE', 'distributionAuth': 'FALSE','distributionId': '5f71ae3757d98e735a697669', 'merchantId': '5ecb71f490ee5b6848ae2454'}

dict02= {'name': 'wjp', 'age': '22'}

data_list= [8, '22', 1, 22, '星辰']print(type(dict01))print(type(dict02))#dict转str 使用json.dumps的方法,可以将json对象转化为字符串

j_dict01 =json.dumps(dict01)print(type(j_dict01))#列表转str 使用json.dumps的方法,可以将json对象转化为字符串

j_list = json.dumps(data_list, ensure_ascii=False)print(type(j_list))print(j_list)print("++++换行+++")print("++++indent参数为缩进的空格数+++")print(json.dumps(dict02, sort_keys=True, indent=4, ensure_ascii=False))print("++++现在结束+++")

data_dict= '{"name": "YYY","year": 10000,"height": 170,"home": "四川"}'data_list= '[8, "22", 1, 22, "星辰"]'p_dict=json.loads(data_dict)

p_list=json.loads(data_list)print(type(data_dict))print(type(data_list))print(type(p_dict))print(type(p_list))

filename= 'file03.json'data= (1, 2, 3, 4, 5, 6, 7, 8, 9, 1000)

with open(filename,'w') as f:

json.dump(data, f)

filename= 'file03.json'with open(filename) as f:

data=json.load(f)print(data)#总结:json模块的load()、dump()用于编码和解码JSON数据,处理文件。转换包含所有合法数据类型的Python对象、JSON数据类型!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值