亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python中解析json格式文件的方法示例

 更新時間:2017年05月03日 10:54:40   作者:Myths  
這篇文章主要給大家介紹了python中解析json格式文件的相關(guān)資料,解析json文件就是編碼和解碼,本文還介紹了在解析中可能遇到的問題與解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機(jī)器解析和生成。

本文主要介紹的是python中解析json格式文件的方法,解析json文件無非編碼和解碼,這里我們用了python下自帶的json模塊。當(dāng)然還要結(jié)合python本身特有的dict類型的操作。下面來看看詳細(xì)的介紹吧。

編碼

編碼用到的是json.dumps()函數(shù),將字典轉(zhuǎn)化為json對象。

import json
data = [{'a':"A",'b':(2,4),'c':3.0}] #list對象
print "DATA:",repr(data)
data_string = json.dumps(data)#dumps函數(shù)
print "JSON:",data_string

輸出的結(jié)果是:

DATA: [{'a':'A','c':3.0,'b':(2,4)}] #python的dict類型的數(shù)據(jù)是沒有順序存儲的
JSON: [{"a":"A","c":3.0,"b":[2,4]}]

解碼

解碼用json.loads()函數(shù),將json格式轉(zhuǎn)化為dict。

import json
data = '{"a":"A","b":[2,4],"c":3.0}' #json格式
decoded = json.loads(data)
print "DECODED:",decoded

輸出的結(jié)果是

DECODED: [{u'a': u'A', u'c': 3.0, u'b': [2, 4]}]

編碼和解碼的過程中,元組會被變成無次序的列表,而字典的次序也并不能保證不變。

現(xiàn)在,處理json格式的重點便成了正確處理dict類型數(shù)據(jù)了。

常見錯誤

python的json模塊不支持單引號,所以類似"{'a':'A','b':[2,4],'c':3.0}"的字符串是會報以下錯誤的:

ValueError: Expecting property name: line 1 column 2 (char 1)

這時候我們只需要把他單雙引號互換即可:

'{"a":"A","b":[2,4],"c":3.0}'

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論