json格式的数据就是python中的字典_使用 json 模块,使json数据格式与Python字典dict数据格式互相转换,获取数据更加方便...

一、定义

JSON 是一种数据格式

使用 javaScript (Java 死鬼破特)对象表示法

二、特点

1、JSON 与 XML格式数据的区别

======

两种格式的数据,都是跨语言,跨平台

c、c++、java、php、python、go 等都能处理这两种格式

Windows、Linux、Unix都能承载这两种格式

json 更为清晰,冗余更少,更轻量级,传输效率更高

xml 常常导致复杂的代码,极低的开发效率

对于大多数 web 应用来说,根本不需要复杂的 xml 来传输数据

2、json 结构

对象结构:键值对

json 格式的数据,在 python 中是以字符串或者字节类来呈现

json 格式数据,所有的 key 都是用“双引号”来包裹的

“单引号”是不可以的

value 数字可以不用双引号包裹

空值一定是 小写的 null

a ={"key1": 12,"key2": "value"}

数组结构-嵌套字典的列表

b =[

{"key1": "value1","key2": "value2"},

{"key3": "value3","key4": "value4"},

]

3、注意事项

json 格式的数据,在 python 中以字符串形式呈现

json 中的空为 null

json 中除空和数字外,所有的 key 和 value 都是字符串,且一定要以双引号括起来

三、json数据格式与Python字典互相转换 ------ 为了获取数据方便

看到 null 是 json 格式字符串,因为使用 eval 进行转换会报错(报未定义);否则是 字典类型字符串

没有 null 可以是 json 格式也可以是 字典类型字符串

loads()和load():

loads() 是直接读取json格式的数据,并转换为字典型数据类型

load() 是读取json文件,将从json文件对象中获取的json数据转换为字典型数据类型

dumps()和dump():

dumps() 是将字典型数据类型直接转换为json数据格式

dump() 是将字典型数据类型转换为json数据格式后存放到json格式文件中

json.loads :(篓子)-- 将 json 格式的数据转化为-----Python中的字典类型

import json

#json格式的字符串 -- 字符串要写在同一行,外层使用单引号

data_json = '{"msg": "登录成功", "code": "10001", "data": null, "status": 1}'

#将 json 格式的数据转化为 Python 中的字典类型#会将 json 格式空值null转化为 Python 中字典类型的空值 None

data_dict = json.loads(data_json, encoding='utf-8')print(data_dict)#结果:

{'msg': '登录成功', 'code': '10001', 'data': None, 'status': 1}

json中的.dumps   : (当慕斯)Python中字典dict类型转化为-------json格式的数据

#将python中字典类型转化为json格式的数据#会将 Python 中字典类型的空值 None 转换为 json 格式的空值 null

one_dict = {'name': '麦穗', "age": 18, "money": None}#记忆:宕机 --> dj(dict -- json)#ensure_ascii=True 默认为 True 遇到中文进行编码,False 不进行编码

one_json = json.dumps(one_dict, ensure_ascii=False)print(one_json)#结果:{"name": "麦穗", "age": 18, "money": null}

load() :(楼的)读取json文件中的json数据并转换为字典型的数据类型

importjson#创建json格式的TXT文件,#内容为:{"msg": "登录成功", "code": "10001", "data": null, "status": 1}

#第一种情况,读取json文件中的json数据并转换为字典型的数据类型#mode 默认为="r",encoding 指定编码

with open("json_text.txt", encoding="utf-8") as file:

one_dict=json.load(file)print(one_dict)#结果:{'msg': '登录成功', 'code': '10001', 'data': None, 'status': 1}

dump() :(当泼)将字典数据类型转换为json格式数据并存储到json格式的文件中

#第二种,将字典数据类型转换为 json 格式数据并存储到json格式的文件中

two_dict = [{"one": {"name": "流年", "age": 20, "love": None}},

{"two": {"name": "阿登", "age": 25, "love": True}}]#使用上下文管理器 with#ensure_ascii(恩数额儿_安斯k) 默认True,会进行编码;为如果是中文不进行编码使用 False#indent (in den 特) 空两格美化

with open("write_json.txt", mode="w", encoding="utf-8") as one_file:

json.dump(two_dict, one_file, ensure_ascii=False, indent=2)#结果:

[

{"one": {"name": "流年","age": 20,"love": null

}

},

{"two": {"name": "阿登","age": 25,"love": true

}

}

]

json 模块封装,看看大佬怎么封装的,转载自:https://www.cnblogs.com/xiaogongjin/p/11400475.html

importjsonclassHandleJson:'''定义一个json格式数据处理类'''@staticmethoddefloads_data(data):'''将json数据格式的数据转换为字典型的数据类型

:param data: json格式字符串

:return: 字典数据类型'''dict_ison=json.loads(data)returndict_ison

@staticmethoddefload_data(filename):'''读取json文件中的json数据并转换为字典型的数据类型

:param filename:json文件名

:return:字典数据类型'''with open(filename, mode='r', encoding='utf-8') as fp:

dict_file=json.load(fp)returndict_file

@staticmethoddefdumps_data(data):'''将字典数据类型转换为json格式类型数据

:param data: 字典数据类型

:return: json格式字符串'''json_dict= json.dumps(data, ensure_ascii=False)returnjson_dict

@staticmethoddefdump(data, filename):'''将字典数据类型转换为json格式数据并存储到json格式的文件中

:param data: 字典数据类型

:param filename: json文件名

:return: json格式文件'''with open(filename, mode='w', encoding='utf-8') as fp:

json.dump(data, fp)

*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/  谢谢!!*******

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值