json.dumps()将Python字典对象转换为JSON格式的字符串
作者:admin 时间:2022-1-12 9:49:50 浏览:有很多场景需要在程序中使用序列化的JSON数据,如果你在进一步处理的应用程序中需要此序列化JSON数据,则可以将其转换为本机Python对象,而不是将其写入文件中。
例如,你收到一个发送开发者详细信息的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": "admin@webkaka.com"
}
SendJsonResponse(developer_Dict)
输出
Writing JSON data into a Python String
{"name": "Jane Doe", "salary": 9000, "skills": ["Python", "Machine Learning", "Web Development"], "email": admin@webkaka.com}
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 基本类型(例如 dict
、list
、set
、tuple
、str
、 数字)转换为 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使用DjangoJSONEncoder或json_util把日期时间序列化为JSON
- Python编写自定义方法将日期时间转为JSON
- 两种方法Python将日期时间DateTime序列化为JSON
- Python如何直接访问JSON嵌套键
- 两种方案 Python 解决unicode、utf-8编码问题
- Python将Unicode或非ASCII数据序列化为JSON原样字符串
- 4种方法使Python类JSON可序列化
- 5种方法Python将JSON转换为自定义Python对象/类
- 区别:Python json.load()和json.loads()读取JSON
- 5个示例介绍Python如何读、写操作JSON文件
标签: Python
- 站长推荐