首頁 >後端開發 >Python教學 >如何使用Python使用JSON數據

如何使用Python使用JSON數據

Jennifer Aniston
Jennifer Aniston原創
2025-03-07 11:51:14533瀏覽

How to Work With JSON Data Using Python

本指南展示了使用Python處理JSON數據的簡單性。

潛水之前,讓我們簡要定義JSON。 引用官方JSON網站:

JSON (JavaScript對象表示法)是一種輕巧的數據交換格式。它是可讀的,很容易被機器解析。 基於JavaScript子集(ECMA-262第三版),它是與語言無關的,但使用熟悉的慣例為C家族程序員(C,C,C,C#,Java,Java,JavaScript,Perl,Python等)。 這使JSON非常適合數據交換。

>本質上,JSON提供了一種直接的方法來在JavaScript中構造和存儲數據,儘管不需要JavaScript的知識來利用JSON的語法。

JSON促進了許多Web應用程序中有效的數據存儲和交換,這要歸功於其可讀的格式,使其對於數據傳輸和API交互特別有用。

>

這是一個JSON數據示例:

>本教程涵蓋了Python的JSON處理功能。讓我們開始!
<code>{
  "name": "Frank",
  "age": 39,
  "isEmployed": true
}</code>

python和json

Python使用

>模塊簡化了JSON文件處理。

參數(設置為

)在輸出中排列字典鍵。 json sort_keys True數據轉換:Python↔json

Python詞典
import json

myDictionary = {'tobby': 70, 'adam': 80, 'monty': 20, 'andrew': 75, 'sally': 99}

pythonToJSON = json.dumps(myDictionary, sort_keys=True)

# Output: {"adam": 80, "andrew": 75, "monty": 20, "sally": 99, "tobby": 70}
print(pythonToJSON)
允許多種關鍵數據類型(字符串,整數,元組),而JSON鍵則嚴格是字符串。 將Python詞典轉換為JSON,將所有鑰匙都放在字符串上。 逆轉此過程不會恢復原始的密鑰類型。

處理多種數據類型

JSON支持Limited Python對像類型:列表,詞典,布爾值,數字,字符串和。 其他類型需要在JSON存儲之前進行轉換。
import json

squares = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, False: None}

pythonToJSON = json.dumps(squares)
jsonToPython = json.loads(pythonToJSON)

# Output: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, False: None}
print(squares)

# Output: {"1": 1, "2": 4, "3": 9, "4": 16, "5": 25, "false": null}
print(pythonToJSON)

# Output: {'1': 1, '2': 4, '3': 9, '4': 16, '5': 25, 'false': None}
print(jsonToPython)

考慮此類:

None創建一個對象:

>

將其直接轉換為JSON(
class Employee:
    def __init__(self, name):
        self.name = name
)會導致A

。 該解決方案涉及自定義編碼函數:abder = Employee('Abder')

這成功地編碼了python對象 json.dumps(abder)結論TypeError

>本教程強調了Python在處理多種應用挑戰方面的多功能性和適應性,這是其JSON處理能力所證明的。 有關更多詳細信息,請參閱官方
def jsonDefault(object):
    return object.__dict__

jsonAbder = json.dumps(abder, default=jsonDefault)

# Output: {"name": "Abder"}
print(jsonAbder)
模塊文檔。

>

本指南納入了全棧開發人員和教程作家Monty Shokeen的貢獻。

以上是如何使用Python使用JSON數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn