json.dumps是將一個Python數據類型列表進行json格式的編碼解析,
示例如下:
>>> import json #導入python 中的json模塊
>>> l = [‘iplaypython’,[1,2,3], {‘name’:’xiaoming’}] #創建一個l列表
>>> encoded_json = json.dumps(l) # 將l列表,進行json格式化編碼
>>> print repr(l)
>>> print encoded_json #輸出結果
這樣我們就將一個list列表對象,進行了json格式的編碼轉換。
解碼python json格式,可以用這個模塊的json.loads()函數的解析方法,
示例如下:
>>> decode_json = json.loads(encoded_json)
>>> print type(decode_json) #查看一下解碼后的對象類型
>>> print decode_json #輸出結果
將python json格式解碼成Python數據風格
json.dump和json.dumps很不同,json.dump主要用來json文件讀寫,和json.load函數配合使用。
json.dump(x,f),x是對象,f是一個文件對象,這個方法可以將json字符串寫入到文本文件中。
import json
data = [{"a":"aaa","b":"bbb","c":[1,2,3,(4,5,6)]},33,'tantengvip',True]
data2 = json.dumps(data)
print(data2)
f = open('./tt.txt','a')
json.dump(data2,f)
json.load加載json格式文件 下面是從txt文件中讀取了json數據。
f = open('./tt.txt','r')
hehe = json.load(f)
print(hehe)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JSON 函數
使用 JSON 函數需要導入 json 庫:import json。
函數 | 描述 |
---|---|
json.dumps | 將 Python 對象編碼成 JSON 字符串 |
json.loads | 將已編碼的 JSON 字符串解碼為 Python 對象 |
json.dumps
json.dumps 用於將 Python 對象編碼成 JSON 字符串。
語法
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)
實例
以下實例將數組編碼為 JSON 格式數據:
#!/usr/bin/python import json data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ] json = json.dumps(data) print json
以上代碼執行結果為:
[{"a": 1, "c": 3, "b": 2, "e": 5, "d": 4}]
使用參數讓 JSON 數據格式化輸出:
>>> import json >>> print json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': ')) { "a": "Runoob", "b": 7 }
python 原始類型向 json 類型的轉化對照表:
Python | JSON |
---|---|
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
json.loads
json.loads 用於解碼 JSON 數據。該函數返回 Python 字段的數據類型。
語法
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
實例
以下實例展示了Python 如何解碼 JSON 對象:
#!/usr/bin/python import json jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; text = json.loads(jsonData) print text
以上代碼執行結果為:
{u'a': 1, u'c': 3, u'b': 2, u'e': 5, u'd': 4}
json 類型轉換到 python 的類型對照表:
JSON | Python |
---|---|
object | dict |
array | list |
string | unicode |
number (int) | int, long |
number (real) | float |
true | True |
false | False |
null | None |