Python动态创建引号格式一致的JSON字符串问题
解决Python动态构造字符串引号混杂问题
你不需要手动拼接带引号的字符串,直接用Python原生的字典、列表构建数据结构,再通过json模块转换成标准JSON字符串就能解决引号混乱的问题,步骤如下:
- 构建原生数据结构:用嵌套的字典和列表表示你的数据,避免手动拼接字符串
- 转换为标准JSON字符串:使用
json.dumps()方法将数据结构转换成格式统一的JSON字符串
修改后的代码:
import json name = "test" ID1 = 41 # 直接用整数类型,匹配目标输出的数字格式 ID2 = 42 report = { "name": name, "scope": {"sites": [ID1, ID2]}, "version": "2." } # 转换为JSON字符串,自动统一引号格式 result = json.dumps(report) print(result)
输出结果:
{"name": "test", "scope": {"sites": [41, 42]}, "version": "2."}
如果需要和你给出的目标输出一致(包含外层双引号),可以给结果套一层双引号:
print(f'"{result}"')
此时输出为:
"{"name": "test", "scope": {"sites": [41, 42]}, "version": "2."}"
原方法出错原因
你之前手动拼接IDS字符串并嵌套引号,导致字符串内部引号层级混乱。用原生数据结构+json.dumps()的方式,会自动处理所有引号的转义和格式,从根源避免引号混杂问题,也更符合Python处理结构化数据的最佳实践。
内容的提问来源于stack exchange,提问作者densha
相关产品推荐
相关产品推荐

