python對象轉化為json串、json串轉化為python串


1.1. JSON簡介:

JavaScript Object Notation(JavaScript對象表示法)

JSON是存儲和交換文本信息的語法。類似XML

JSONXML更小、更快、更易解析

1.2. JSON語法規則:

1)數據在名稱/值對中  (重要)

2)數據由逗號分隔

3)花括號保存對象

4)方括號保存數組

如:

1.3. JSON對象:

{“firstName”:”john”,”lastName”:”Doe”}

1.4. JSON數組:

{

“employees”:[

    {“firstName”:”John”,”lastName”:”Doe”},

    {“firstName”:”Anna”,”lastName”:”Smith”},

    {“firstName”:”Peter”,”lastName”:”Jones”}

]

}

1.5. json.dumps()json.loads()

json模塊的序列化和反序列化分別是dumpsloads

json.dumps():將一個python對象編碼成json字符串

json.loads():JSON格式的字符串解碼成python對象

>>> a=[{1:12,'a':12.3},[1,2,3],(1,2),'asd',u'ad',12,13L,3.3,True,False,None]
>>> print "編碼后:\n",json.dumps(a)
編碼后:
[{"a": 12.3, "1": 12}, [1, 2, 3], [1, 2], "asd", "ad", 12, 13, 3.3, true, false, null]
>>> print u"解碼后:\n",json.loads(json.dumps(a))
解碼后:
[{u'a': 12.3, u'1': 12}, [1, 2, 3], [1, 2], u'asd', u'ad', 12, 13, 3.3, True, False, None]
>>>

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字符串,是一個str對象encodedjson

dumps函數的參數很多,我一般會用到的如下:

(1)sort_keys:

data = [ { 'a':'A', 'c':(2, 4), 'b':3.0 }]

print json.dumps(data)

print json.dumps(data, sort_keys=True)

(2)indent:

print json.dumps(data, sort_keys=True, indent=3)

(3)separators:

print len(json.dumps(data, separators=(',',':')))

print json.dumps(data,separators=(',',':'))

(4)skipkeys:

data= [ { 'a':'A', 'b':(2, 4), 'c':3.0, (1,2):'D tuple' } ]

print u"不設置skipkeys 參數"

try :

    res1 = json.dumps(data)

except Exception, e:

    print e

print u"設置skipkeys 參數"

print json.dumps(data, skipkeys=True)

......


免責聲明!

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



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