Python操做json

JSON

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。 易於讀寫。 易於機器解析和生成。 JSON採用徹底獨立語言的文本格式,同時使用類詞語C語言家族的習慣,是理想的數據交換語言。python

JSON建構於兩種結構

  • "名稱/值"對的集合(A collection of name/value pairs).
  • 值得有序列表(An order list of values)

json.dumps對簡單數據類型進行編碼
import json

obj = [[1,2,3],123,123.123,'abc',{'key1':(1,2,3),'key2':(4,5,6)}]
encodedjson = json.dumps(obj)
print repr(obj)
print encodedjson

輸出:

[[1, 2, 3], 123, 123.123, 'abc', {'key2': (4, 5, 6), 'key1': (1, 2, 3)}] 
[[1, 2, 3], 123, 123.123, "abc", {"key2": [4, 5, 6], "key1": [1, 2, 3]}]

在json的編碼過程當中,會將python原生數據類型向json類型轉化json

Python json
dict object
list array
str,unicode string
int,long,float number
True true
False false
None null

json.dumps()方法返回了一個str對象encodejson編碼


使用json.loads方法對json數據進行解碼,獲得原始數據
decodejson = json.loads(encodedjson)
print type(decodejson)
print decodejson[4]['key1']
print decodejson

輸出:

<type 'list'> 
[1, 2, 3]

[[1, 2, 3], 123, 123.123, u'abc', {u'key2': [4, 5, 6], u'key1': [1, 2, 3]}]

loads方法返回了原始的對象,從json到python的類型轉換對照以下:code

|JSON|Python| |:--|:--| |object|dict |array|list |string|unicode |number(int)|int, long |number(real)|float |true|True |false|False |null|None對象

相關文章
相關標籤/搜索