溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么將Python字符串轉(zhuǎn)換為JSON

發(fā)布時間:2021-12-13 17:07:23 來源:億速云 閱讀:248 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“怎么將Python字符串轉(zhuǎn)換為JSON”,在日常操作中,相信很多人在怎么將Python字符串轉(zhuǎn)換為JSON問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么將Python字符串轉(zhuǎn)換為JSON”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

什么是 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)周期中,這是一種更可靠的格式。與復(fù)雜且不太緊湊的 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

到此,關(guān)于“怎么將Python字符串轉(zhuǎn)換為JSON”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI