在 Python 中,字典和 JSON(JavaScript 對象表示法)都有助於結構化數據表示,但它們在用法和語法上有所不同。在本文中,我們將討論 JSON 的定義和字典JSON 和 Dictionary 之間的區別Python.
JSON 與字典
Python 原生的字典用於內存中的數據結構,允許直接操作。相比之下,JSON 是一種標準化的基於字符串的格式,對於係統之間的數據交換至關重要。
字典的數據類型不同,提供內存中的靈活性,同時JSON以其字符串格式,在互操作性方麵表現出色。下麵我們以表格的形式來看看差異。
Python 中的 JSON 是什麽?
JSON(Javascript 對象表示法)是一種通過網絡以文本形式傳輸數據的標準格式。 JSON是一種基於網絡的數據交換和存儲語法。它廣泛使用 API 和數據庫,這些 API 和數據庫對於人類和機器來說都易於閱讀和理解。 Python 包含一個名為‘json’ 的庫,可用於處理 JSON 數據。要使用此函數,您必須首先將 JSON 包導入到您的 Python 代碼中。
Python JSON 以大花brackets() 括起來的鍵值對的形式保存數據,使其與 Python 字典非常相似。但是,在本例中,JSON 鍵是帶有強製雙引號的字符串對象。另一方麵,與鍵對應的值可以是任何數據類型, 如string,整數、嵌套 JSON 或任何其他相當於數組的序列數據類型。
示例 1:簡單的 Json 結構
在這個例子中,JSON 字符串a
提供代表有關人的數據。這json.loads()然後使用函數將 JSON 字符串解析為 Python 字典b
。該代碼從解析的字典中打印與 “city” 鍵關聯的值,從而產生輸出 “Banglore.”
Python3
import json
# some JSON:
a = '{ "name":"Rahul", "age":21, "city":"Banglore"}'
# parse x:
b = json.loads(a)
print(b["city"])
Banglore
示例 2:嵌套 Json 示例
在這個例子中,變量nested_json
保存嵌套 JSON 數據的字符串表示形式。代碼使用print()
顯示嵌套的 JSON 字符串,通過嵌套對象展示其結構化層次結構,例如 “person” 詳細信息和帶有城市和國家/地區屬性的嵌入式 “address”。
Python3
# Nested JSON String
nested_json = '{"person": {"name": "Alice", "age": 25, "address": {"city": "Wonderland", "country": "Fictional"}}}'
# Print the nested JSON string
print("Nested JSON String:", nested_json)
Nested JSON String: {"person": {"name": "Alice", "age": 25, "address": {"city": "Wonderland", "country": "Fictional"}}}
Python 中的字典是什麽?
字典是Python中的一種數據類型,用於在單個變量中存儲多行數據。 Python 字典與可視化類似地存儲數據值,這是任何其他僅保留單個值作為元素的數據類型所不允許的。字典是一個無序且可更改的數據組件集合,以鍵:值對的形式存儲在 curly brackets() 中。冒號(:)代表與值對應的鍵。
字典值可以是任何數據類型並且可以有重複的值,但是字典鍵是唯一的並且不能更改。
示例 1:簡單字典示例
在此示例中,名為的字典dict
用代表顏色、汽車和花朵的鍵值對定義。該代碼利用print()
顯示整個詞典,展示其結構和內容。
Python3
dict = {
"color": "blue",
"car": "farari",
"flower": "jasmine"
}
print(dict)
{'color': 'blue', 'car': 'farari', 'flower': 'jasmine'}
示例 2:嵌套字典示例
在此示例中,名為的嵌套字典nested_dict
創建後,表示有關具有嵌入地址的人員的信息。該代碼采用print()
展示整個嵌套結構,突出顯示字典中數據的層次結構。
Python3
# Nested Dictionary
nested_dict = {"person": {"name": "Alice", "age": 25,
"address": {"city": "Wonderland", "country": "Fictional"}}}
print("Nested Dictionary:", nested_dict)
Nested Dictionary: {'person': {'name': 'Alice', 'age': 25, 'address': {'city': 'Wonderland', 'country': 'Fictional'}}}
Python中Json和字典的區別
json |
字典 |
---|---|
JSON 鍵隻能是字符串。 |
字典的鍵可以是任何可哈希對象。 |
JSON 中的鍵是按順序排列的並且可以重複。 |
字典中的鍵不能重複並且必須不同。 |
JSON 中的鍵的默認值是未定義的。 |
字典中沒有默認值。 |
JSON 文件中的值可使用 “.”(點)或 “[]” 運算符訪問。 |
下標運算符用於訪問字典中的值。例如‘dict’ = ‘A’:’123R’,’B’:’678S’,我們隻需調用dict[‘A’]就可以檢索到相關數據。 |
對於字符串對象,我們必須使用雙引號。 |
對於字符串對象,我們可以使用單引號或雙引號。 |
在 JSON 中,返回對象類型是“字符串”對象類型。 |
‘dict’ 對象類型是字典中的返回對象類型。 |
相關用法
- Python JSON轉string用法及代碼示例
- Python JSON轉CSV用法及代碼示例
- Python JSON轉dictionary用法及代碼示例
- Python JSON轉PNG用法及代碼示例
- Python String format()用法及代碼示例
- Python abs()用法及代碼示例
- Python any()用法及代碼示例
- Python all()用法及代碼示例
- Python ascii()用法及代碼示例
- Python bin()用法及代碼示例
- Python bool()用法及代碼示例
- Python bytearray()用法及代碼示例
- Python callable()用法及代碼示例
- Python bytes()用法及代碼示例
- Python chr()用法及代碼示例
- Python compile()用法及代碼示例
- Python classmethod()用法及代碼示例
- Python complex()用法及代碼示例
- Python delattr()用法及代碼示例
- Python dict()用法及代碼示例
- Python dir()用法及代碼示例
- Python divmod()用法及代碼示例
- Python enumerate()用法及代碼示例
- Python staticmethod()用法及代碼示例
- Python filter()用法及代碼示例
注:本文由純淨天空篩選整理自mailforriya2708大神的英文原創作品 Difference between Json and Dictionary in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。