Python 如何将字典打印成JSON格式
可以使用json Python模块将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
以上是我们展示了一个包含四对键-值的字典,包含产品信息。现在,我们将看到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"}]