您的位置:首页 > 编程语言 > Python开发

python 对象和json互相转换

2017-03-18 21:38 881 查看

一、python对json的支持

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

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

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

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

PythonJSON
dictobject
list, tuplearray
str, unicodestring
int, long, floatnumber
Truetrue
Falsefalse
Nonenull
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
objectdict
arraylist
stringunicode
number (int)int, long
number (real)float
true True
falseFalse
nullNone
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

http://www.cnblogs.com/loleina/p/5623968.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python json