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

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

相关文章

用Pytorch训练CNN(数据集MNIST,使用GPU的方法)

听说pytorch使用比TensorFlow简单,加之pytorch现已支持windows,所以今天装了pytorch玩玩,第一件事还是写了个简单的CNN在MNIST上实验,初步体验的确...

python使用sqlite3时游标使用方法

cursor就是一个Cursor对象,这个cursor是一个实现了迭代器(def__iter__())和生成器(yield)的MySQLdb对象,这个时候cursor中还没有数据,只有等...

解决python os.mkdir创建目录失败的问题

起因 今天使用 python os.mkdir创建目录时遇到的一个小问题: feature_dir = os.path.join(os.getcwd(), 'system', 'fe...

Python 初始化多维数组代码

    Python中初始化一个5 x 3每项为0的数组,最好方法是:multilist = [[0 for col i...

python利用hook技术破解https的实例代码

相对于http协议,http是的特点就是他的安全性,http协议的通信内容用普通的嗅探器可以捕捉到,但是https协议的内容嗅探到的是加密后的内容,对我们的利用价值不是很高,所以一些大的...