技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

json.dumps()将Python字典对象转换为JSON格式的字符串

作者:admin    时间:2022-1-12 9:49:50    浏览:

有很多场景需要在程序中使用序列化的JSON数据,如果你在进一步处理的应用程序中需要此序列化JSON数据,则可以将其转换为本机Python对象,而不是将其写入文件中。

 json.dumps()将Python字典对象转换为JSON格式的字符串

例如,你收到一个发送开发者详细信息的HTTP请求,你从数据库表中获取开发人员数据并将其存储在Python字典或任何Python对象中,现在你需要将该数据发送回请求的应用程序,因此你需要将Python字典对象转换为JSON格式的字符串以作为JSON字符串中的响应,为此,你需要使用json.dumps()

json.dumps()返回的JSON字符串表示Python的dict。现在让我们看看这个例子。

import json

def SendJsonResponse(resultDict):
    print("Convert Python dictionary into JSON formatted String")
    developer_str = json.dumps(resultDict)
    print(developer_str)

# sample developer dict
developer_Dict = {
    "name": "admin",
    "salary": 9000,
    "skills": ["Python", "Machine Learning", "Web Development"],
    "email": "[email protected]"
}
SendJsonResponse(developer_Dict)

输出

Writing JSON data into a Python String
{"name": "Jane Doe", "salary": 9000, "skills": ["Python", "Machine Learning", "Web Development"], "email": [email protected]}

json.dumps()的语法

json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

用途:用于将Python对象写入JSON字符串。

使用的参数:

  • obj 是一个Python可序列化对象,你希望将其转换为JSON格式。
  • 如果skipkeys为真(默认值:假),则不属于基本类型的字典键 (str, int, float, bool, None) 将被跳过而不是引发一个 TypeError。例如,如果你的字典键之一是自定义 Python 对象,则在将字典转换为 JSON 时将省略该键。
  • 如果ensure_ascii为 true(默认值),则保证输出所有传入的非 ASCII 字符都已转义。如果ensure_ascii为 false,这些字符将按原样输出。
  • allow_nan默认情况下为 True,因此将使用它们的 JavaScript 等效项(NaN、Infinity、-Infinity)。如果为 False,则序列化超出范围的浮点值(nan、inf、-inf)将是一个 ValueError。
  • indent参数用于漂亮地打印 JSON 以使其更具可读性。默认值为(', ', ': '). 要获得最紧凑的 JSON 表示,你应该使用(',', ':') 消除空格。
  • 如果sort_keys为真(默认:假),则字典的输出将按键排序。

编码时 JSON 和 Python 实体之间的映射

要将 Python 对象编码为 JSON 等效 json 模块,请使用以下转换表,使用json.dump()json.dumps()的方法进行编码时的翻译。

现在让我们看看如何将所有 Python 基本类型(例如 dictlistsettuplestr、 数字)转换为 JSON 格式的数据。请参考下表了解 JSON 和 Python 数据类型之间的映射关系。

Python JSON
dict object
list, tuple array
str string
int, float, int & float-derived Enums number
True true
False false
None null

现在让我们看看这个例子。

import json

sampleDict = {
    "colorList": ["Red", "Green", "Blue"],
    "carTuple": ("BMW", "Audi", "range rover"),
    "sampleString": "pynative.com",
    "sampleInteger": 457,
    "sampleFloat": 225.48,
    "booleantrue": True,
    "booleanfalse": False,
    "nonevalue": None
}
print("Converting Python primitive types into JSON")
resultJSON = json.dumps(sampleDict)
print("Done converting Python primitive types into JSON")
print(resultJSON)

输出

Converting Python primitive types into JSON
Done converting Python primitive types into JSON
{"colorList": ["Red", "Green", "Blue"], "carTuple": ["BMW", "Audi", "range rover"], "sampleString": "pynative.com", "sampleInteger": 457, "sampleFloat": 225.48, "booleantrue": true, "booleanfalse": false, "nonevalue": null}

您可能对以下文章也感兴趣

标签: Python  
x
x
  • 站长推荐