python中的json模块

Posted cnhkzyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的json模块相关的知识,希望对你有一定的参考价值。

一. 什么是JSON

1. JSON是JavaScript Object Notation的缩写,它是一种数据交换格式

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

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

  • 没有None值,只有null值

  • utf-8的编码格式

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

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

 

二. 导入json模块

import json

 

三. json模块常用方法

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

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

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

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

 

四. 实例

实例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(),会看到更好的效果

技术分享图片

实例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>

 

五. 附录

1. python原始类型向json类型的转化对照表

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

 

 

 

 

 

 

 

 

2. json类型转换到python类型的转化对照表

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

 

 

 

 

 

 

 

 

 

 

参考文章

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

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

 

以上是关于python中的json模块的主要内容,如果未能解决你的问题,请参考以下文章

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

python中的模块,库,包有啥区别

Python 常用模块学习

python常用代码片段总结

如何从片段中的 JSON 响应中的对象获取数据

常用python日期日志获取内容循环的代码片段