GyroFlow 视频稳定完整教程:一次跑通防抖流程,批量素材锁定同一镜头配置
2026/8/24 20:59:22
json.dumps()的输出可能不符合我们的阅读习惯——这时候就需要用到参数来“美化”它。
ensure_ascii=Falsejson.dumps({"城市": "东京"}) # 输出:{"\u57ce\u5e02": "\u4e1c\u4eac"}你会看到中文变成了\uXXXX这样的Unicode 转义序列,人眼难以阅读。
这是因为json.dumps()默认只输出 ASCII 字符(即英文字母、数字、基本符号),非 ASCII 字符(如中文、日文、emoji)会被自动转义。
ensure_ascii=False后:json.dumps({"城市": "东京"}, ensure_ascii=False) # 输出:{"城市": "东京"}✅ 中文直接显示为可读的汉字!
ensure_ascii=True(默认):安全但不可读(适合机器传输)。ensure_ascii=False:保留原始 Unicode 字符(如中文),适合人类阅读和调试。ensure_ascii=False!indent=2json.dumps([{"a": 1}, {"b": 2}]) # 输出:[{"a": 1}, {"b": 2}]所有内容挤在一行,结构混乱,难以看清嵌套关系。
indent=2后:json.dumps([{"a": 1}, {"b": 2}], indent=2) # 输出: [ { "a": 1 }, { "b": 2 } ]✅ 自动换行 + 缩进,层次清晰,像写代码一样美观!
indent=2表示每层缩进用 2 个空格;indent=4(4 空格)、indent='\t'(制表符)等。indent参数用于格式化输出(pretty-print);print(json.dumps(final_json, ensure_ascii=False, indent=2))这行代码的意思是:
“请把
final_json这个 Python 对象,转换成一段人类可读的 JSON 字符串:
- 中文不要转成 \u 编码,直接显示汉字;
- 用 2 个空格缩进,让结构清晰易读;
- 然后打印出来。”
假设final_json是:
[ { "路线方案": "方案 1 (推荐路线)", "风险提示": "该食品运输路线可能经过福岛県" } ]加上这两个参数后,输出会是:
[ { "路线方案": "方案 1 (推荐路线)", "风险提示": "该食品运输路线可能经过福岛県" } ]而如果不加,可能会变成:
[{"\u8def\u7ebf\u65b9\u6848": "\u65b9\u6848 1 (\u63a8\u8350\u8def\u7ebf)", "\u98ce\u9669\u63d0\u793a": "\u8be5\u98df\u54c1\u8fd0\u8f93\u8def\u7ebf\u53ef\u80fd\u7ecf\u8fc7\u798f\u5cf6\u770c"}]