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程序设计有所帮助。

相关文章

Django forms组件的使用教程

编写Django的form表单,非常类似我们在模型系统里编写一个模型。在模型中,一个字段代表数据表的一列,而form表单中的一个字段代表<form>中的一个<input...

python搭建虚拟环境的步骤详解

前言 相信对于python开发人员来说,机器上有不同的python版本是很正常的,因为开发的项目有的用2.6或2.7,有的就要用3.0+版本,如何把这些不同的版本管理好,保持每个环境的干...

Tensorflow卷积神经网络实例进阶

Tensorflow卷积神经网络实例进阶

在Tensorflow卷积神经网络实例这篇博客中,我们实现了一个简单的卷积神经网络,没有复杂的Trick。接下来,我们将使用CIFAR-10数据集进行训练。 CIFAR-10是一个经...

Python 迭代,for...in遍历,迭代原理与应用示例

本文实例讲述了Python 迭代,for...in遍历,迭代原理与应用。分享给大家供大家参考,具体如下: 迭代是访问集合元素的一种方式。什么时候访问元素,什么时候再迭代,比一次性取出集合...

Python中实现两个字典(dict)合并的方法

本文实例讲述了Python中实现两个字典(dict)合并的方法,分享给大家供大家参考。具体方法如下: 现有两个字典dict如下: dict1={1:[1,11,111],2:[2,2...