1. 程式人生 > >python 對象和json互相轉換

python 對象和json互相轉換

processor val 2.6 構造 lar list tor sta python對象

一、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互相轉換