python中的json模块

1|0一. 什么是JSON


1. JSON是JavaScript Object Notation的缩写,它是一种轻量级数据交互格式

2. 本质是一个字符串,是JS对象的字符串表示法

3. 与python中的字典很类似,不过有一些语法上的区别

  • 没有None值,只有null值

  • utf-8的编码格式

  • 字符串必须是双引号来表达的

4. python当中的字符串要转换成json对象,要使用json库来完成

 

2|0二. 导入json模块


import json

 

3|0三. json模块常用方法


3|11. json.dumps(str, indent=4, sort_keys=True)  将一个python数据对象转换成一个json字符串


  • indent:格式化输出json数据,呈现更直观。indent=4表示缩进4个空格

  • sort_keys:json字符串按照字典的key进行排序

3|22. json.loads()  将一个json字符串转换成python对象,比如json字符串转换成列表、字典


 

4|0四. 实例


4|1实例1


import json #把一个python对象转换成json字符串 a = {"name": "xiaozhai", "sex": None} b = json.dumps(a) print(b) print(type(b)) #把一个json字符串转换成一个python字典 c = json.loads(b) print(c) print(type(c))

运行结果

{"name": "xiaozhai", "sex": null} <class 'str'> {'name': 'xiaozhai', 'sex': None} <class 'dict'>

注意:print()函数为了生成可读性更好的输出, 它会省去引号并打印,如果我们在python自带的IDLE中,不加print(),会看到更好的效果

4|2实例2:json.dumps()中indent的作用是缩进空格,sorted_keys会按照字典中key的首字母进行排序


import json #把一个python对象转换成json字符串 a = {"name": "xiaozhai", "sex": None} b = json.dumps(a, indent=4, sort_keys=True) print(b) print(type(b))

运行结果

{ "name": "xiaozhai", "sex": null } <class 'str'>

 

5|0五. 附录


5|11. python原始类型向json类型的转化对照表


Python JSON
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null

 

 

 

 

 

 

 

 

5|22. json类型转换到python类型的转化对照表


JSON Python
object dict
array list
string unicode
number(int) int, long
number(real) float
true True
false False
null None

 

 

 

 

 

 

 

 

 

 

6|0参考文章


http://www.runoob.com/python/python-json.html

https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499490767fe5a0e31e17e44b69dcd1196f7ec6fc6000

 


__EOF__

本文作者cnhkzyy
本文链接https://www.cnblogs.com/my_captain/p/9193375.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   cnhkzyy  阅读(323)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示