本章節我們將為大家介紹如何使用 Python 語言來編碼和解碼 JSON 物件。
Python 2.7 自帶JSON 模組【官方文件】
1. 從python原始類型向json類型的轉換過程,具體的轉換如下:
importjjson skipkeys=False,ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=Nicone,
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separator_nan=True, cls=None, False, **kw)
python --------
dict object
,unicode string
int,long,float number
True.
False false
None
>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar" 。 f)
# 打開 demo.txt 可以看到
[0, 1, 2, 3, 4, 5, 6, 7, 8,9, 10,1115, , 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,32, 35,534 41 , 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,57, 58,569 66 , 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91 , 92, 93, 94, 95, 96, 97, 98, 99]
import json
json.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, ,_hook[, o])object_p (s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **k]]]]]]])) python
--- --------------------------------------
object dict
string str
number(int) int
number(real) True
false None
>>> import json
>>> json.loads('{"a": 1, "b": 2, "c": 3}') # string to python objects
{u'a': python objects
{u'a': python objects
{u'a': c' 3, u'b': 2}
# 1.txt 中的內容
[{"a": [1, txt2,3, 14,5]: , 2, 3]}, {"c": ["English", "Chinese"]}]
>>> )
[{u'a': [1, 2, 3, 4, 5]}, {u'b': [1, 2, 3]}, {u'c': [u'English', u'Chinese']}]
舊版Python 環境配置(Python中自帶json模組的用戶不用看)
在使用Pyt 。本教學我們會下載 Demjson 並安裝:
$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6
JSON 函數 函數描述 encode 將Python 物件編碼成JSON 字串
encode
Python encode()函數用於將Python 物件編碼成JSON 字串。
語法
demjson.encode(self, obj, nest_level=0)
#! /usr/bin/pythonimport demjson data = [ { 'a' : 1, 'b'
json = demjson.encode(data)
print json
demjson.encode(data)
print json
b":2," c":3,"d":4,"e":5}]
decode
Python 可以使用demjson.decode(decode
Python 可以使用demjson.decode() 函數來解碼。此函數傳回 Python 欄位的資料類型。
語法
demjson.decode(self, txt)
txt
#!/usr/bin /python
import demjson
json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';mm text = demjson.decode(json)
print text
2, u'e': 5, u'd': 4}