如何將Python字符串轉(zhuǎn)換為JSON的實現(xiàn)方法
在本教程中,你將學習 JSON 的基礎(chǔ)知識——它是什么、常用在哪里以及它的語法。
你還將看到如何在 Python 中將字符串轉(zhuǎn)換為 JSON。
讓我們開始吧!
什么是 JSON
JSON 是 JavaScript Object Notation(JavaScript 對象標記)的縮寫。
它是一種數(shù)據(jù)格式,用于為 Web 應(yīng)用程序存儲和傳輸信息。
JSON 最初來自 JavaScript 編程語言,但它并不僅僅局限于一種語言。
大多數(shù)現(xiàn)代編程語言都有用于解析和生成 JSON 數(shù)據(jù)的庫。
在哪里使用JSON
JSON 主要用于在服務(wù)器和客戶端之間發(fā)送和接收數(shù)據(jù),其中客戶端是網(wǎng)頁或 Web 應(yīng)用程序。
在 Web 應(yīng)用程序通過網(wǎng)絡(luò)連接時使用的請求-響應(yīng)周期中,這是一種更可靠的格式。與復雜且不太緊湊的 XML 相比,JSON 是使用得更多的格式。
基本的 JSON 語法
在 JSON 中,數(shù)據(jù)以鍵值對的形式寫入,如下所示:
"first_name": "Katie"
數(shù)據(jù)用雙引號括起來,鍵值對用冒號分隔。
可以有多個鍵值對,每個鍵值對之間用逗號分隔:
"first_name": "Katie", "last_name": "Rodgers"
上面的例子展示了一個對象,一個多個鍵值對的集合。
對象在花括號內(nèi):
{ "first_name": "Katie", "last_name": "Rodgers" }
你還可以使用 JSON 創(chuàng)建數(shù)組,即值的有序列表。在這種情況下,數(shù)組包含在方括號內(nèi):
[ { "first_name": "Katie", "last_name": "Rodgers" }, { "first_name": "Naomi", "last_name": "Green" }, ] // or: { "employee": [ { "first_name": "Katie", "last_name": "Rodgers" }, { "first_name": "Naomi", "last_name": "Green" }, ] } //this created an 'employee' object that has 2 records. // It defines the first name and last name of an employee
如何在 Python 中處理 JSON 數(shù)據(jù)
包含 JSON 模塊
要在 Python 中使用 JSON,首先需要在 Python 文件的頂部包含 JSON 模塊。這是 Python 內(nèi)置的,是標準庫的一部分。
因此,假設(shè)你有一個名為 demo.py 的文件。在頂部,你將添加以下行:
import json
使用 json.loads() 函數(shù)
如果你的程序中有 JSON 字符串數(shù)據(jù),如下所示:
#include json library import json #json string data employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}' #check data type with type() method print(type(employee_string)) #output #<class 'str'>
你可以使用 json.loads() 函數(shù)將其轉(zhuǎn)換為 Python 中的 JSON。
json.loads() 函數(shù)接受有效字符串作為輸入并將其轉(zhuǎn)換為 Python 字典。
這個過程叫作反序列化——將字符串轉(zhuǎn)換為對象。
#include json library import json #json string data employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}' #check data type with type() method print(type(employee_string)) #convert string to object json_object = json.loads(employee_string) #check new data type print(type(json_object)) #output #<class 'dict'>
然后,你可以訪問每個單獨的項目,就像使用 Python 字典時一樣:
#include json library import json #json string data employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}' #check data type with type() method print(type(employee_string)) #convert string to object json_object = json.loads(employee_string) #check new data type print(type(json_object)) #output #<class 'dict'> #access first_name in dictionary print(json_object["first_name"]) #output #Michael
讓我們再舉一個例子:
1. 取一些 JSON 字符串數(shù)據(jù)
import json #json string employees_string = ''' { "employees": [ { "first_name": "Michael", "last_name": "Rodgers", "department": "Marketing" }, { "first_name": "Michelle", "last_name": "Williams", "department": "Engineering" } ] } ''' #check data type using the type() method print(type(employees_string)) #output #<class 'str'>
2. 使用 json.loads() 函數(shù)將字符串轉(zhuǎn)換為對象
import json emoloyees_string = ''' { "employees" : [ { "first_name": "Michael", "last_name": "Rodgers", "department": "Marketing" }, { "first_name": "Michelle", "last_name": "Williams", "department": "Engineering" } ] } ''' data = json.loads(employees_string) print(type(data)) #output #<class 'dict'>
3. 讀取數(shù)據(jù)
import json employees_string = ''' { "employees" : [ { "first_name": "Michael", "last_name": "Rodgers", "department": "Marketing" }, { "first_name": "Michelle", "last_name": "Williams", "department": "Engineering" } ] } ''' data = json.loads(employees_string) print(type(data)) #output #<class 'dict'> #access first_name for employee in data["employees"]: print(employee["first_name"]) #output #Michael #Michelle
總結(jié)
到此這篇關(guān)于如何將Python字符串轉(zhuǎn)換為JSON的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)Python字符串轉(zhuǎn)換為JSON內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
yolov5訓練時參數(shù)workers與batch-size的深入理解
最近再學習YOLOv3與YOLOv5訓練數(shù)據(jù)集的具體步驟,幾經(jīng)波折終于實現(xiàn)了很好的效果,這篇文章主要給大家介紹了關(guān)于yolov5訓練時參數(shù)workers與batch-size的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-03-03Python中的jquery PyQuery庫使用小結(jié)
這篇文章主要介紹了Python中的jquery PyQuery庫使用小結(jié),需要的朋友可以參考下2014-05-05攻擊者是如何將PHP Phar包偽裝成圖像以繞過文件類型檢測的(推薦)
這篇文章主要介紹了攻擊者是如何將PHP Phar包偽裝成圖像以繞過文件類型檢測的,需要的朋友可以參考下2018-10-10對django2.0 關(guān)聯(lián)表的必填on_delete參數(shù)的含義解析
今天小編就為大家分享一篇對django2.0 關(guān)聯(lián)表的必填on_delete參數(shù)的含義解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08