如何將 Python 字符串轉(zhuǎn)換為 JSON
在本文中,我們將學習 JSON 的基礎知識——它是什么、常用在哪里以及它的語法。

你還將看到如何在 Python 中將字符串轉(zhuǎn)換為 JSON。
讓我們開始吧!
什么是 JSON
JSON 是 JavaScript Object Notation(JavaScript 對象標記)的縮寫。
它是一種數(shù)據(jù)格式,用于為 Web 應用程序存儲和傳輸信息。
JSON 最初來自 JavaScript 編程語言,但它并不僅僅局限于一種語言。
大多數(shù)現(xiàn)代編程語言都有用于解析和生成 JSON 數(shù)據(jù)的庫。
在哪里使用JSON
JSON 主要用于在服務器和客戶端之間發(fā)送和接收數(shù)據(jù),其中客戶端是網(wǎng)頁或 Web 應用程序。
在 Web 應用程序通過網(wǎ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"
  }
]或者:
{
  "employee": [
    {
      "first_name": "Katie",
      "last_name": "Rodgers"
    },
    {
      "first_name": "Naomi",
      "last_name": "Green"
    }
  ]
}這創(chuàng)建了一個employee象,它有2條記錄, 它定義了一個first_name和last_name。
如何在 Python 中處理 JSON 數(shù)據(jù)
包含 JSON 模塊
要在 Python 中使用 JSON,首先需要在 Python 文件的頂部包含 JSON 模塊。這是 Python 內(nèi)置的,是標準庫的一部分。
因此,假設你有一個名為 demo.py 的文件。在頂部,你將添加以下行:
import json使用json.loads()函數(shù)
如果你的程序中有 JSON 字符串數(shù)據(jù),如下所示:
# 導入json模塊
import json
# json 字符串
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'
# type 檢查對象類型
print(type(employee_string))
# 輸出
# <class 'str'>
你可以使用 json.loads() 函數(shù)將其轉(zhuǎn)換為 Python 中的 JSON。
json.loads() 函數(shù)接受有效字符串作為輸入并將其轉(zhuǎn)換為 Python 字典。
這個過程叫作反序列化——將字符串轉(zhuǎn)換為對象。
# 導入json模塊
import json
# json 字符串
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'
# type 檢查對象類型
print(type(employee_string))
# 字符串轉(zhuǎn)為對象
json_object = json.loads(employee_string)
# 檢測類型
print(type(json_object))
# 輸出
# <class 'dict'>
然后,你可以訪問每個單獨的項目,就像使用 Python 字典時一樣:
# 導入json模塊
import json
# json 字符串
employee_string = '{"first_name": "Michael", "last_name": "Rodgers", "department": "Marketing"}'
# type 檢查對象類型
print(type(employee_string))
# 字符串轉(zhuǎn)為對象
json_object = json.loads(employee_string)
# 檢測類型
print(type(json_object))
# 輸出
# <class 'dict'>
# 訪問字典的first_name 信息
print(json_object["first_name"])
# 輸出 
# Michael讓我們再舉一個例子:
1.取一些 JSON 字符串數(shù)據(jù)
import json
# json 字符串串
employees_string = '''
{
    "employees": [
       {
           "first_name": "Michael", 
           "last_name": "Rodgers", 
           "department": "Marketing"
        },
       {
           "first_name": "Michelle", 
           "last_name": "Williams", 
           "department": "Engineering"
        }
    ]
}
'''
# type()方法檢查數(shù)據(jù)類型
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(emoloyees_string)
print(type(data))
# 輸出 
# <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))
# 輸出
# <class 'dict'>
# 訪問數(shù)據(jù)
for employee in data["employees"]:
    print(employee["first_name"])
# 輸出 
# Michael
# Michelle總結(jié)
至此,你已經(jīng)掌握了在 Python 中使用 JSON 的基礎知識。
如果你想學習更多關于 Python 的知識, pythontip 有一個python從零到一入門課程,它可以帶你學習從基礎知識(如變量、循環(huán)和函數(shù))到更高級的概念(如數(shù)據(jù)結(jié)構(gòu))。















 
 
 







 
 
 
 