Python解析json文件相關(guān)知識(shí)學(xué)習(xí)
JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個(gè)子集。 JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類似于C語(yǔ)言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。
今天用python解析一個(gè)文本文件,格式如下:
[ { "Key":"android.permission.ACCESS_CHECKIN_PROPERTIES", "Title":"訪問(wèn)檢入屬性", "Memo":"允許對(duì)檢入服務(wù)上傳的屬性進(jìn)行讀/寫訪問(wèn)。普通應(yīng)用程序不能使用此權(quán)限。", "Level":0 }, { "Key":"android.permission.ACCESS_COARSE_LOCATION", "Title":"大概位置", "Memo":"訪問(wèn)大概的位置源(例如蜂窩網(wǎng)絡(luò)數(shù)據(jù)庫(kù))以確定手機(jī)的大概位置(如果可以)。惡意應(yīng)用程序可借此確定您所處的大概位置。", "Level":1 }, { "Key":"android.permission.ACCESS_COARSE_LOCATION", "Title":"大概位置", "Memo":"訪問(wèn)大概的位置源(例如蜂窩網(wǎng)絡(luò)數(shù)據(jù)庫(kù))以確定手機(jī)的大概位置(如果可以)。惡意應(yīng)用程序可借此確定您所處的大概位置。", "Level":1 } ]
開(kāi)始采用open('filepath').readlines()的方法讀取,這樣讀取的內(nèi)容都存取到一個(gè)列表中,但是我要取每一個(gè){}中的內(nèi)容取不到,于是考慮用split(',')的方法分離開(kāi)來(lái),結(jié)果把每一個(gè){}里面的內(nèi)容也根據(jù)","分開(kāi)了。后來(lái)請(qǐng)教了網(wǎng)友,說(shuō)用json方式讀取。于是采用以下方式:
#-*-encoding:utf--*- import json f = file(r'C:\Users\Tim\Desktop\test.json') jsonobj = json.load(f) #列表用序號(hào)來(lái)查詢 print jsonobj[]['Memo'] f.close
運(yùn)行之后報(bào)以下錯(cuò)誤:
ValueError: No JSON object could be decoded
重新將json文件以UTF8無(wú)BOM方式保存了一下,運(yùn)行成功了。
另外,對(duì)于讀取json string可以用以下方式:
s = json.loads('{"name":"test", "type":{"name":"seq", "parameter":["", ""]}}') print s print s.keys() print s["name"] print s["type"]["name"] print s["type"]["parameter"][]
以上內(nèi)容給大家介紹了Python解析json文件相關(guān)知識(shí),希望對(duì)大家有所幫助!
- JSON 入門教程基礎(chǔ)篇 json入門學(xué)習(xí)筆記
- javascript學(xué)習(xí)之json入門
- Ajax與JSON的一些學(xué)習(xí)總結(jié)
- JSON學(xué)習(xí)筆記
- JSON 教程 json入門學(xué)習(xí)筆記
- JSON stringify方法原理及實(shí)例解析
- Java使用JSON傳遞字符串注意事項(xiàng)解析
- 10分鐘掌握XML、JSON及其解析
- Java解析JSON數(shù)據(jù)時(shí)報(bào)錯(cuò)問(wèn)題解決方案
- javascript解析json格式的數(shù)據(jù)方法詳解
- 10分鐘學(xué)會(huì)js處理json的常用方法
相關(guān)文章
python實(shí)現(xiàn)超簡(jiǎn)單端口轉(zhuǎn)發(fā)的方法
這篇文章主要介紹了python實(shí)現(xiàn)超簡(jiǎn)單端口轉(zhuǎn)發(fā)的方法,實(shí)例分析了Python同構(gòu)socket實(shí)現(xiàn)端口轉(zhuǎn)發(fā)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03python深度學(xué)習(xí)tensorflow實(shí)例數(shù)據(jù)下載與讀取
這篇文章主要為大家介紹了python深度學(xué)習(xí)tensorflow實(shí)例數(shù)據(jù)下載與讀取示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06django框架基于queryset和雙下劃線的跨表查詢操作詳解
這篇文章主要介紹了django框架基于queryset和雙下劃線的跨表查詢操作,結(jié)合實(shí)例形式詳細(xì)分析了Django框架queryset和雙下劃線的跨表查詢相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-12-12Python調(diào)用C語(yǔ)言的方法【基于ctypes模塊】
這篇文章主要介紹了Python調(diào)用C語(yǔ)言的方法,涉及Python基于ctypes模塊調(diào)用C語(yǔ)言編譯后的動(dòng)態(tài)鏈接庫(kù)文件相關(guān)操作技巧,需要的朋友可以參考下2018-01-01Python爬蟲(chóng)實(shí)現(xiàn)vip電影下載的示例代碼
這篇文章主要介紹了Python爬蟲(chóng)實(shí)現(xiàn)vip電影下載的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04python 使用tkinter與messagebox寫界面和彈窗
這篇文章主要介紹了python 使用tkinter與messagebox寫界面和彈窗,文章內(nèi)容詳細(xì),具有一的的參考價(jià)值,需要的小伙伴可以參考一下2022-03-03TensorFlow實(shí)現(xiàn)簡(jiǎn)單卷積神經(jīng)網(wǎng)絡(luò)
這篇文章主要為大家詳細(xì)介紹了TensorFlow實(shí)現(xiàn)簡(jiǎn)單卷積神經(jīng)網(wǎng)絡(luò),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05