在Python中使用JSON

JSON Python Java JavaScript 讀書 Python部落 2019-04-06
在Python中使用JSON

在本教程中,你將通過示例學習如何在Python中解析、讀取和寫入JSON。此外,你還將學習如何將JSON轉換為dict並漂亮地打印它。

目錄表

  • 什麼是JSON?

  • 使用 json 模塊

  • 在Python中解析 JSON

○ 例子: 將JSON 字符串轉換為 dict

○ 例子: 在Python中 讀取JSON 文件

  • 將字典轉換為 JSON 字符串(附帶例子)

  • 將JSON 寫入到文件 (附帶例子)

  • 優美輸出 JSON (附帶例子)

什麼是JSON?

JSON (JavaScript對象表示法)是一種用於表示結構化數據的流行數據格式。在服務器和web應用程序之間以JSON格式傳輸和接收數據是很常見的。

在 Python中, JSON以字符串形式存在. 例如:

在Python中使用JSON

在文件中存儲JSON對象也很常見。

引入json模塊

要使用JSON(字符串或包含JSON對象的文件),你可以使用Python的json模塊。在使用該模塊之前,需要先引入它。

在Python中使用JSON

在Python中解析JSON

使用json模塊解析JSON字符串和包含JSON對象的文件是很容易的。

例 1: 在Python 中將JSON 解析成 dict

你可以使用json.loads方法來解析JSON字符串。該方法返回一個字典。

在Python中使用JSON

這裡, person 是一個JSON 字符串, person_dict 是一個字典。

例2: 使用Python讀取JSON 文件

你可以使用json.load方法讀取一個包含JSON對象的文件。

假設你有一個名為person.json的文件,它包含一個JSON對象。

在Python中使用JSON

下面是如何解析這個文件:

在Python中使用JSON

在這裡,我們使用了open函數讀取json文件。然後,使用json.load方法解析文件,該方法會返回一個名為data的字典。

如果你不知道如何在Python中讀寫文件,我們建議你查看一下Python文件I/O [1]。

使用Python 將字典轉換為JSON字符串

你可以使用 json.dumps方法將字典轉換成JSON字符串。

例 3: 將字典轉換成 JSON

在Python中使用JSON

下面的列表顯示了Python對象及其與JSON的等效轉換。

在Python中使用JSON

將JSON 寫入一個文件

要在Python中將JSON寫入文件,我們可以使用json.dump方法。

例 4: 將JSON 寫入一個文件

在Python中使用JSON

在上面的程序中,我們使用'w’在寫入模式中打開了一個名為person.txt的文件。如果該文件不存在,就會創建它。然後, json.dump將person_dict轉換為一個JSON字符串,該字符串將保存在person.txt文件中。

當你運行程序時, person.txt文件將被創建,並且包含以下文本。

在Python中使用JSON

使用Python 完美輸出JSON

為了分析和調試JSON數據,我們可能需要以更易於閱讀的格式打印它。這可以通過向json.dumps和json.dump方法傳遞額外的參數indent和sort_keys來實現。

例 5: 使用Python 完美輸出JSON

在Python中使用JSON

當你運行此程序時,輸出結果將會是:

在Python中使用JSON

在上面的程序中,我們使用了 4 個空格進行縮進。並且,鍵值是按升序排序的。

順便說一下,indent的默認值是None,sort_keys的默認值為False。

推薦閱讀:

  • 使用Python將 JSON轉換為CSV ,反之亦然

  • 使用Python 將XML轉換為JSON ,反之亦然

  • Python simplejson [2]


相關鏈接:

[1]——https://www.programiz.com/python-programming/file-operation

[2]——https://stackoverflow.com/questions/712791/what-are-the-differences-between-json-and-simplejson-python-modules

英文原文:https://www.programiz.com/python-programming/json
譯者:浣熊君( ・᷄৺・᷅ )

相關推薦

推薦中...