如何将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+ 次浏览

启动你的职业生涯

通过完成课程获得认证

开始
广告