python 对象和json互相转换方法


Posted in Python onMarch 22, 2018

一、python对json的支持

从python2.6开始,python标准库中添加了对json的支持,操作json时,只需要import json即可。

二、python对象转换成json字符串

在把python对象转换成json字符串时,只需要如下知识即可:

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.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding=”utf-8”, default=None, sort_keys=False, **kw)

示例

测试代码:

#构造字典
python2json = {}
#构造list
listData = [1,2,3]
python2json["listData"] = listData
python2json["strData"] = "test python obj 2 json"

#转换成json字符串
json_str = json.dumps(python2json)
print json_str

转换结果:

{
 "listData": [
 1,
 2,
 3
 ],
 "strData": "test python obj 2 json"
}

三、json字符串转换成python对象

同理,把json字符串转换成python对象也只需具备如下知识即可:

1.json字符串到python对象的转换规则:

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

2. 主要使用如下函数:

json.loads()

该函数的具体参数(具体用法参见附录中链接):

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

示例

测试代码:

str = '{"listData": [1, 2, 3], "strData": "test python obj 2 json"}'
json2python = json.loads(str)
print type(json2python)

转换结果:

<type 'dict'>

四、附录

以上这篇python 对象和json互相转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现将内容分行输出
Nov 05 Python
使用python遍历指定城市的一周气温
Mar 31 Python
Python正则捕获操作示例
Aug 19 Python
Python实现图片转字符画的示例代码
Aug 21 Python
Django数据库操作的实例(增删改查)
Sep 04 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
Mar 15 Python
python3.7 的新特性详解
Jul 25 Python
python+Django+pycharm+mysql 搭建首个web项目详解
Nov 29 Python
python opencv 实现对图像边缘扩充
Jan 19 Python
快速查找Python安装路径方法
Feb 06 Python
Python如何实现小程序 无限求和平均
Feb 18 Python
python 使用cycle构造无限循环迭代器
Dec 02 Python
利用python将json数据转换为csv格式的方法
Mar 22 #Python
解决python3中解压zip文件是文件名乱码的问题
Mar 22 #Python
Python爬虫工程师面试问题总结
Mar 22 #Python
Python入门必须知道的11个知识点
Mar 21 #Python
python使用Tesseract库识别验证
Mar 21 #Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 #Python
python如何通过实例方法名字调用方法
Mar 21 #Python
You might like
模仿OSO的论坛(五)
2006/10/09 PHP
php设计模式 Facade(外观模式)
2011/06/26 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
php实现简易计算器
2020/08/28 PHP
javascript实现上传图片前的预览(TX的面试题)
2007/08/20 Javascript
Extjs入门之动态加载树代码
2010/04/09 Javascript
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
JS实现图片懒加载(lazyload)过程详解
2020/04/02 Javascript
Python操作串口的方法
2015/06/17 Python
浅析Python3爬虫登录模拟
2018/02/07 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
Qoo10台湾站:亚洲领先的在线市场
2018/05/15 全球购物
如何进行Linux分区优化
2013/02/12 面试题
应届生英语教师求职信
2013/11/05 职场文书
一封普通求职者的求职信
2013/11/20 职场文书
会计员岗位职责
2014/03/15 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
MySQL系列之十二 备份与恢复
2021/07/02 MySQL
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android