如何將Python字典列印成JSON格式?
可以使用Python的json模組輕鬆地將Python字典顯示為JSON格式。json模組是一個JSON編碼器/解碼器。JSON是JavaScript物件表示法,是一種輕量級的基於文字的開放標準,旨在進行人機可讀的資料交換。JSON格式由Douglas Crockford指定。它已從JavaScript指令碼語言擴充套件而來。
可以將字典視為一組鍵值對,要求鍵是唯一的(在一個字典內)。字典中的每個鍵與其值之間用冒號(:)分隔,專案之間用逗號分隔,整個內容用花括號括起來。
讓我們首先建立一個Python字典並獲取所有值。在這裡,我們在字典中包含了4個鍵值對並顯示它們。“產品”、“型號”、“單位”和“可用”是字典的鍵。除“單位”鍵外,所有鍵都具有字串值:
示例
# Creating a Dictionary with 4 key-value pairs myprod = { "Product":"Mobile", "Model": "XUT", "Units": 120, "Available": "Yes" } # Displaying the Dictionary print(myprod) # Displaying individual values print("Product = ",myprod["Product"]) print("Model = ",myprod["Model"]) print("Units = ",myprod["Units"]) print("Available = ",myprod["Available"])
輸出
{'Product': 'Mobile', 'Model': 'XUT', 'Units': 120, 'Available': 'Yes'}
Product = Mobile
Model = XUT
Units = 120
Available = Yes
上面,我們顯示了包含產品資訊的字典中的4個鍵值對。現在,我們將看到在Python中更新字典值的兩種方法。現在,我們將把字典設定為JSON格式。
使用dumps()方法將字典列印成JSON格式
json模組的dumps()函式用於返回Python字典物件的JSON字串表示形式。dumps()的引數是字典:
示例
import json # Creating a Dictionary with 4 key-value pairs myprod = { "Product":"Mobile", "Model": "XUT", "Units": 120, "Available": "Yes" } # Converting to JSON format myJSON = json.dumps(myprod) # Displaying the JSON format print("\nJSON format = ",myJSON);
輸出
JSON format = {"Product": "Mobile", "Model": "XUT", "Units": 120, "Available": "Yes"}
使用__str__(self)方法將字典列印成JSON物件
__str___(self)函式用於返回物件的字串表示形式。我們在這裡聲明瞭一個類並將其用於字串表示形式以將其轉換為json物件:
示例
import json # Creating a Dictionary myprod = { "Product":"Mobile", "Model": "XUT", "Units": 120, "Available": "Yes" } # Declared a class class myfunc(dict): def __str__(self): return json.dumps(self) myJSON = myfunc(myprod) print("\nJSON format = ",myJSON);
輸出
JSON format = {"Product": "Mobile", "Model": "XUT", "Units": 120, "Available": "Yes"}
將字典列印成JSON陣列
陣列可以轉換為JSON物件。我們將鍵和值設定在陣列中並使用dump()方法:
示例
import json # Creating a Dictionary myprod = { "Product":"Mobile", "Model": "XUT", "Units": 120, "Available": "Yes" } # Keys and Values of a Dictionary in an array arr = [ {'key' : k, 'value' : myprod[k]} for k in myprod] # Displaying the JSON print("\nJSON format = ",json.dumps(arr));
輸出
JSON format = [{"key": "Product", "value": "Mobile"}, {"key": "Model", "value": "XUT"}, {"key": "Units", "value": 120}, {"key": "Available", "value": "Yes"}]
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP