python 对象和json互相转换方法

yipeiwu_com6年前Python基础

一、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'>

四、附录

https://docs.python.org/2/library/json.html

/post/102146.htm

以上这篇python 对象和json互相转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python读取image

python 读取image 在python中我们有两个库可以处理图像文件,scipy和matplotlib. 安装库 pip install matplotlib pillow s...

python循环嵌套的多种使用方法解析

这篇文章主要介绍了python循环嵌套的多种使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用循环嵌套来获取100以内的...

python 正则表达式 概述及常用字符

1.元字符: . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行 ^ 匹配行首。除非设置 MULTILINE 标志,它只是匹配字符...

pymysql模块的操作实例

pymysql 模块! pymysql模块时一个第三方模块!需要下载: pymysql的基本使用: import pymysql conn = pymysql.connect(...

深入学习Python中的装饰器使用

装饰器 vs 装饰器模式 首先,大家需要明白的是使用装饰器这个词可能会有不少让大家担忧的地方,因为它很容易和设计模式这本书里面的装饰器模式发生混淆。曾经一度考虑给这个新的功能取一些其它的...