博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python学习教程:超干货—Python3内置模块之json编解码方法小结
阅读量:4635 次
发布时间:2019-06-09

本文共 1986 字,大约阅读时间需要 6 分钟。

Python学习教程:Python3内置模块之json编解码方法小结

概述

Python3中我们利用内置模块json解码和编码JSON对象,JSON(JavaScript Object Notation)是指定 RFC 7159(废弃了RFC 4627)和 ECMA-404是一种轻量级数据交换格式,受 JavaScript对象文字语法的启发 (虽然它不是JavaScript 1的严格子集)。下面为Python对象–>JSON对象的对照关系表。

Python学习教程:超干货—Python3内置模块之json编解码方法小结

 

dumps编码

我们利用dumps将Python对象编码为JSON对象,当然dumps只完成了序列化为str,而dump必须传文件描述符,将序列化的str保存到文件中,它们的函数定义为

dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

编码字典

import json D = {'one': 1, 'two': 2, 'three': 3} J = json.dumps(D) print(J)

示例结果:

{"one": 1, "two": 2, "three": 3}

编码列表

import json L = [1, 'Python ', {'one': 1, 'two': 2, 'three': 3}, ''] J = json.dumps(L) print(J)

示例结果:

[1, "Python ", {"one": 1, "two": 2, "three": 3}, ""]

编码

import json S = 'Python' J = json.dumps(S) print(J)

示例结果:

"Python"

格式化输出JSON

import json L = [1, 'Python ', {'one': 1, 'two': 2, 'three': 3}, True] J = json.dumps(L, sort_keys=True, indent=4) print(J)

示例结果:

[  1,  "Python ",  {
"one": 1, "three": 3, "two": 2 }, true ]

loads解码

我们利用loads 用于解码 JSON对象。解码结果即与之对应的Python对象类型。当然loads 只完成了反序列化,load 只接收文件描述符,完成读取文件和反序列化。它们的函数定义为

loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

比如我们用来解码上个示例的数据

import json jsondata = ''' [  1,  "Python ",  {
"one": 1, "three": 3, "two": 2 }, true ] ''' J = json.loads(jsondata) print(type(J)) print(J)

示例结果:

[1, 'Python ', {'one': 1, 'three': 3, 'two': 2}, True]

可以看到我们成功对上个例子中的JSON对象进行了解码,并且最终的解码结果为Python列表对象类型,符合Python对象-JSON对象对照表的结果。

今天关于json编解码方法先跟大家总结这么多,更多的Python学习教程会继续更新!

转载于:https://www.cnblogs.com/cherry-tang/p/10973833.html

你可能感兴趣的文章
太久没来了,好尴尬呀
查看>>
django 链接地址匹配流程
查看>>
图片和文件上传的两款插件
查看>>
简析平衡树(三)——浅谈Splay
查看>>
The Knuth-Morris-Pratt Algorithm in my own words(转)
查看>>
374. Guess Number Higher or Lower
查看>>
目标反射回波检测算法及其FPGA实现 之一:算法概述
查看>>
php去除字符串首尾空格(包括全角)(转)
查看>>
第十一章
查看>>
.net实现跨页面传值
查看>>
第一篇博客,纪念一下,终于开通啦!
查看>>
0x22 迭代加深
查看>>
名字的漂亮度
查看>>
Python List append()方法
查看>>
产品经理之我见
查看>>
web渗透测试基本步骤
查看>>
把mysql 中的字符gb2312 改为gbk的方法
查看>>
使用Struts2标签遍历集合
查看>>
angular.isUndefined()
查看>>
第一次软件工程作业(改进版)
查看>>