python3 实现的对象与json相互转换操作示例

yipeiwu_com6年前Python基础

本文实例讲述了python3 实现的对象与json相互转换操作。分享给大家供大家参考,具体如下:

1. python主要有三种数据类型:字典、列表、元组,其分别由花括号,中括号,小括号表示。 例如:

字典:dictData={'a':12,'b':34}
列表:listData=[1,2,3,4]
元组:tupleData=(1,2,3,4)

2. 使用json时,导入import json即可

3. 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]}}

4.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.'}

5.json编码的格式几乎和python语法一致,不同点在于True会被映射为true,False会被映射为false,None会被映射为null,元组()会被映射为列表[]。

6.json使用说明文档参考地址:https://docs.python.org/2/library/json.html

PS:这里再为大家推荐几款比较实用的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程序设计有所帮助。

相关文章

优化Python代码使其加快作用域内的查找

我将示范微优化(micro optimization)如何提升python代码5%的执行速度。5%!同时也会触怒任何维护你代码的人。 但实际上,这篇文章只是解释一下你偶尔会在标准库或者其...

pycharm 将django中多个app放到同个文件夹apps的处理方法

pycharm 将django中多个app放到同个文件夹apps的处理方法

在django中需要创建多个app,这个就需要创建一个apps文件,把所有的app放到同个文件夹,这个比较清楚,看起来也比较规范 首先在项目文件右击—–new–python packag...

详解python中eval函数的作用

eval() 函数用来执行一个字符串表达式,并返回表达式的值。 eval函数功能:将字符串str当成有效的表达式来求值并返回计算结果。eval函数可以实现list、dict、tuple与...

Python RabbitMQ消息队列实现rpc

Python RabbitMQ消息队列实现rpc

上个项目中用到了ActiveMQ,只是简单应用,安装完成后直接是用就可以了。由于新项目中一些硬件的限制,需要把消息队列换成RabbitMQ。 RabbitMQ中的几种模式和机制比Acti...

python3+PyQt5实现文档打印功能

python3+PyQt5实现文档打印功能

本文通过Python3+PyQt5实现《python Qt Gui 快速编程》这本书13章文档打印功能。本文共通过三种方式: 1、使用HTML和QTextDOcument打印文档...