肖sir__python模块之json

python标准模块之json

定义:json  (java   script   object   notation)是轻量级的文本数据交换格式

案例json:

json和字典  一样

一、json模块可以实现json数据的序列化和反序列化

(1)序列化:将可存放在内存中的python 对象转换成可物理存储和传递的形式

实现方法:load() loads()

(2)反序列化:将可物理存储和传递的json数据形式转换为在内存中表示的python对象

实现方法:dump() dumps()

查看 dump用法:ctrl+点击dump

===================================================

1、由python对象格式化成为json()dumps

案例1:将字典格式转化字符

j={'name':'zs','age':18,"no":["123","456"],"sex":"男"}
print(j)#{'name': 'zs', 'age': 18, 'no': ['123', '456'], 'sex': '男'}
print(type(j))#<class 'dict'>
jsonzfc=json.dumps(j,ensure_ascii=False)# 将一个字典转换称json
print(jsonzfc) #{"name": "zs", "age": 18, "no": ["123", "456"], "sex": "男"}
print(type(jsonzfc)) #<class 'str'>

 

 备注:

1、python中的字典是单引号,字符是双引号

2、字典是大写True,   字符是小写

 ================================================

dump 方法:
定义:往文件中添加字符json
案例1:
j={'name':'zs','age':18,"no":["123","456"],"sex":"男","isonly":True}
print(j)
print(type(j))
jsonzfc=json.dumps(j,ensure_ascii=False)# 将一个字典转换称json
print(jsonzfc)
print(type(jsonzfc))
#dumps
json.dump(j,open("data.json","a"))

===================================================·

indent=4    indent 分隔符  ,排序

案例3:

结果:

{
"name": "zs",
"age": 18,
"no": [
"123",
"456"
],
"sex": "男",
"isonly": true
}

 

 案例2:

 

 ================================

对json中字符 排序

sort_keys=True   排序;

 

=================================================================

三、 json string   转化称python对象

(1)字符类型转换成字典

 

 

import  _json
json1='{"age": 18, "isonly": true, "name": "zs", "no": ["123", "456"], "sex": "男"}'
print(type(json1))
jsgs=json.loads(json1)
print(type(jsgs)) #<class 'dict'>

(2)字符类型转换成元组

 

 案例:

json2='["a","b" ,{"no": 123, "sex": "男"}]'
print(type(json2))# <class 'str'>
listgs=json.loads(json2)
print(type(listgs)) #<class 'list'>

============================================

四、load文件转换成 对象方式

1、创建json格式:

{"age": 18, "isonly": true, "name": "zs", "no": ["123", "456"], "sex": "男"}

 

 2、将 文件中的json通过load转换字典

import  json
dxwj=json.load(open('aa.json','r',encoding="utf-8"))
print(type(dxwj))
print(dxwj)

 

posted @ 2022-09-23 21:30  xiaolehua  阅读(77)  评论(0编辑  收藏  举报