如何将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"}]

更新于:2022年8月11日

7K+浏览量

启动你的职业生涯

完成课程后获得认证

开始学习
广告