python 对象和json互相转换

Posted 落笔画忧愁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 对象和json互相转换相关的知识,希望对你有一定的参考价值。

 

一、python对json的支持

从python2.6开始,python标准库中添加了对json的支持,操作json时,只需要import json即可。

二、python对象转换成json字符串

在把python对象转换成json字符串时,只需要如下知识即可:

1.python对象到json字符串的转换规则:

PythonJSON
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null

 

2. 主要使用如下函数:

json.dumps()

该函数的具体参数(具体用法参见附录中链接): 
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对象的转换规则:

JSONPython
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‘>


以上是关于python 对象和json互相转换的主要内容,如果未能解决你的问题,请参考以下文章

基于jackson的Json与对象的互相转换

java对象和json对象之间互相转换

C# 对象与JSON串互相转换

JavaScript对象与JSON字符串互相转换详解

python字典转化成json格式。JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换

json对象和java对象的互相转化