Python3 对象与 JSON 相互转换详解
本文介绍Python3中实现对象与JSON字符串相互转换的具体操作。通过导入json模块,利用json.dumps()将字典、列表等Python数据结构序列化为JSON格式,并使用json.loads()将JSON字符串反序列化为Python对象。文中包含代码示例及类型映射规则说明,并附带相关在线工具推荐。
Python3对象与JSON转换概述
本文详细介绍在Python3环境下实现对象与JSON字符串相互转换的操作方法,供读者参考学习。
Python基础数据类型
Python中主要涉及三种基础数据类型:字典、列表和元组,它们分别通过花括号、中括号和小括号来定义。具体表示方式如下:
字典示例:dictData={'a':12,'b':34}
列表示例:listData=[1,2,3,4]
元组示例:tupleData=(1,2,3,4)
JSON模块导入
在使用JSON功能时,只需导入import json模块即可开始操作。
Python对象转JSON字符串
将Python对象转换为JSON字符串时,主要依赖json.dumps()函数。以下通过两个示例展示具体用法:示例1如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
"""
python对象转json字符串
"""
# 构造字典
python2json = {}
# 构造list
listTest = [1,2,3]
python2json["listTest"] = listTest
python2json["strData"] = "Python object to json."
# 转换成json字符串
jsonStr = json.dumps(python2json)
print(jsonstr)
运行结果如下:
{"listTest": [1, 2, 3], "strData": "Python object to json."}
示例2展示包含嵌套数据的转换过程:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
"""
python对象转json字符串
"""
# 构造字典
python2json = {}
# 构造dict
dictData = {'a': 123, 'b': [3,4,5], 'c': (4,5,6)}
python2json["dictTest"] = dictData
# 转换成json字符串
jsonStr = json.dumps(python2json)
print(jsonStr)
运行结果如下:
{"dictTest": {"a": 123, "b": [3, 4, 5], "c": [4, 5, 6]}}
JSON字符串转Python对象
将JSON字符串转换回Python对象时,主要使用json.loads()函数。具体示例如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
"""
json转python对象
"""
str = '{"Data1": [1, 2, 3], "Data2": "Json to python object."}'
json2python = json.loads(str)
print(json2python)
转换后的结果如下:
{'Data1': [1, 2, 3], 'Data2': 'Json to python object.'}
类型映射规则与参考文档
JSON的编码格式与Python语法高度相似,但存在几个关键区别:布尔值True在JSON中映射为true,False映射为false;None映射为null;而Python中的元组()在JSON中会被映射为列表[]。
关于JSON模块的详细说明文档,可参考官方链接:https://docs.python.org/2/library/json.html
推荐在线工具与资源
此外,推荐以下实用的在线JSON工具供读者使用:
在线JSON代码检验、美化及格式化工具: http://tools.jb51.net/code/json
JSON在线格式化工具: http://tools.jb51.net/code/jsonformat
在线XML与JSON互转工具: http://tools.jb51.net/code/xmljson
JSON代码格式化、美化、压缩、编辑及转换工具: http://tools.jb51.net/code/jsoncodeformat
在线JSON压缩与转义工具: http://tools.jb51.net/code/json_yasuo_trans
对Python其他技巧感兴趣的读者,可查阅本站专题:《Python操作json技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》。
希望本文内容能对大家的Python编程实践提供有益帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









