json.dumps與json.dump的區別 json.loads與json.load的區別


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)

這樣就生成了一個tt.txt文件,保存了json格式的數據。dumps還提供pritty print,格式化的輸出。
 

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

更多內容參考:https://docs.python.org/2/library/json.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM