python處理json總結


一、首先,了解下什么是JSON?

  JSON:JavaScript Object Notation 【JavaScript 對象表示法】

  JSON 是一種輕量級的數據交換格式,完全獨立於任何程序語言的文本格式。一般,后台應用程序將響應數據封裝成JSON格式返回。

  JSON的基本語法如下:
  JSON名稱/值對。JSON 數據的書寫格式是:名稱/值對。名稱/值對包括字段名稱(在雙引號中),然后着是一個冒號(:),最后是值。

  JSON最常用的格式是對象的鍵值對:
  key只能是string, value可以是 object、array、string、number、true/false、null

      

  • 鍵通過雙引號包裹,后面跟冒號“:”,然后跟該鍵的值;

  • 值可以是字符串、數字、數組等數據類型;

  • 對象與對象之間用逗號隔開;

  • “{}”用來保存對象;

  • “[]”用來保存數組;

二、json跟python中的字典看起來很像,兩者之間的區別?

  1)json的key只能是字符串,dict的key可以是任何可hash的對象,例如:字符串、數字、元組等;

  2)字典是一種數據結構,json是一種數據格式;字典有很多內置函數,有多種調用方法,而json是數據打包的一種格式,並不像字典具備操作性;

  3)json的字符串強制用雙引號,dict的字符串可以用單引號、雙引號;

   一般而言,我們會把json轉化為python中的字典或者列表,再對其進行操作。

三、Python處理json的模塊:json

  Pythone3的標准庫JSON模塊,可以很方便的幫我們進行json數據的轉換和處理,這里主要指序列化(json.dumps()、json.dump())和反序列化(json.loads()、json.load())。

  序列化和反序列化:

  將對象轉換為可通過網絡傳輸或可以存儲到本地磁盤的數據格式(如:XML、JSON或特定格式的字節串)的過程稱為序列化;反之,則稱為反序列化。

  常用的JSON模塊方法:

  • json.dumps():將Python中的對象轉換為JSON中的字符串對象

  • json.dump():將python對象轉換成JSON字符串輸出到fp流中。

  • json.loads():將JSON中的字符串對象轉換為Python中的對象

  • json.load():讀取包含json對象的文件。

  •  

     

實例:

把字典轉換成json串

Python解碼JSON對象

讀取json文件

import json
with open('test1.json') as f:
    a = json.load(f)
print(a)
print(type(a))
輸出:
{'sites': [{'name': '360', 'url': 'www.360.com'}, {'name': 'google', 'url': 'www.google.com'}, {'name': 'baidu', 'url': 'www.baidu.com'}]}
<class 'dict'>

寫入json文件

Python類型轉換JSON類型的對應關系

 

 

json類型轉換到Python的類型對照表

 

文章轉自吾非同

 


免責聲明!

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



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