家喻户晓,json 对象无疑是后端编程、前端数据渲染最罕用的一种轻量级的数据交换格局,它更是一种独立于编程语言的文本格式。总体上来说,在 python 编程中对于 json 对象的操作次要有两种,一种是将 python 对象转换成 json 的数据格式、另一种则是将 json 对象转换成 python 对象的格局。
在 python 的内置库中默认提供了叫 json 的库用来操作 json 数据格式,还有另外一种模式通过第三方提供的 json 相干的库来操作数据对象。
1、应用内置的 json 库实现对数据格式的转换
- json.dumps() 函数,将 python 数据对象转换成 json 格局数据,通常也能够看作是对 json 数据进行编码。
1# 导入 json 内置库
2import json
3
4if __name__ == '__main__':
5 # 定义 python 原始数组
6 data = [{'name':u'Python 集中营','type':u'Sir. 老王'},{'name':u'Python 学习社区','type':u'Sir. 老王'}]
7 # dumps() 函数将 python 数组转换成 json 数据格式
8 # 留神:ensure_ascii 参数设置为 False 否则会以 ascii 编码的格局输入
9 data_json = json.dumps(data,ensure_ascii=False)
10 # 打印 json 格局的数据
11 print data_json
12 '''
13 为了使打印的数据结构更加好看,还能够再加上非凡的参数值来调整
14 sort_keys=True 开启属性排序
15 indent=4 外部元素缩进 4 个
16 separators=(',', ':') 分隔符设置
17 '''18 data_json = json.dumps(data, ensure_ascii=False, sort_keys=True, indent=4, separators=(',',': '))
19 print data_json
- json.loads() 函数,将 json 格局数据转换成 python 数据对象,通常也称之为对 json 数据进行解码。
1print json.loads(data_json)
2、应用 demjson 第三方库实现对数据格式的转换
demjson 库之所以被常常应用,次要是因为它能够不便的解析不规则的又相似于 json 格局的数据,demjson 对象次要有两个函数,一个是 encode() 函数进行 json 格局编码、也就是将 python 对象转换成 json 格局,另一个就是 decode() 函数将 json 格局转换成 python 的数据对象。
- demjson.decode() 函数
1import demjson
2'''
3 定义一个不规则的 json 格局数据,4 相似于 javascript 中的 json 数据格式
5'''6data_json ="{a:1, b:2, c:3}"
7# json 格局解码
8data = demjson.decode(data_json)
9# 打印后果
10print data
11# 后果
12{'a':1, 'b':2, 'c':3}
- demjson.encode() 函数
1import demjson
2# 定义 python 数组对象
3data = [{ 'a' : 1, 'b' : 2, 'c' : 3} ]
4# 将其编码成 json 格局数据
5data_json = demjson.encode(data)
6# 在进行编码时能够指定编码格局
7data_json = demjson.encode(data,encoding=‘utf-8’)
8# 打印后果
9print data_json
10# 后果
11[{"a":1,"b":2,"c":3}]
更多精彩返回微信公众号【Python 集中营】,专一后端编程实战,原创文章每天更新!