python - 如何在 Notepad++ 中为使用 Python 保存的 JSON 正确解析 JSON?
问题描述
我有一个dict
保存为JSON
的Python
,如下面的代码所示。
import json
# https://intellipaat.com/blog/tutorial/python-tutorial/python-json/
person_dict = {
"name": "xxxx",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
tt_json=json.dumps(person_dict)
with open ('data.json', 'w') as f:
json.dump (tt_json, f)
然后,我想查看data.json
in Notepad++
。但是,使用插件JavaScript Map Parser
或JSON Viewer
,JSON 呈现如下
然而,我希望插件JavaScript Map Parser
或JSON Viewer
如下呈现 JSON。
看来,问题是由于用 Python 保存的 JSON 用双引号括起来"{ ... }"
。
"\"\\n{\\n \\\"name\\\": \\\"xxxx\\\",\\n \\\"age\\\": 30,\\n \\\"married\\\": True,\\n \\\"divorced\\\": False,\\n \\\"children\\\": (\\\"Ann\\\",\\\"Billy\\\"),\\n \\\"pets\\\": None,\\n \\\"cars\\\": [\\n {\\\"model\\\": \\\"BMW 230\\\", \\\"mpg\\\": 27.5},\\n {\\\"model\\\": \\\"Ford Edge\\\", \\\"mpg\\\": 24.1}\\n ]\\n}\\n\""
我可以知道如何在 Notepad++ 中或通过调整 JSON 在 Python 中的保存方式来解决此问题。
注意,这个 JSON 会保存在 Python 中,之后需要在 Notepad++ 中进行一些手动修改,然后在 Python 中重新打开。
ps 感谢venky。使用建议的解决方案,JSON 在 Notepad++ 中呈现为单个衬里
但是,可以使用 JSTool 使用以下设置来美化 JSON:
解决方案
您正在将字典转换为 JSON,然后使用JSON.dump
两次再次转换为 JSON。只需在写入文件时使用一次。
import json
person_dict = {
"name": "xxxx",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
with open ('data.json', 'w') as f:
json.dump(person_dict, f)
推荐阅读
- kubernetes - 在 Kubernetes 中调整持久卷的大小时出错
- php - 如何使最后一个数组键的数据移动到第一个数组键?倒数第二个数组键的数据移动到第二个数组键
- sql - 我怎样才能获得大于或等于 sql 或 laravel eloquent 中的人的记录
- eclipse - 从 ECLIPSE IDE 导出 Word 文档
- android - 如何在 Android Studio 运行时以编程方式设置构建变体?
- javascript - 如何使用 JavaScript 检测 JSP 是否加载到 PORTLET 或浏览器中?
- python - 按月份和这些月份的小时数对 pandas 数据框进行分组
- linux - 从bash中的给定日期减去月份
- database-design - 如何将富文本编辑器的状态存储在泛化到 Web 和移动应用程序的数据库中?
- laravel - Laravel 黄昏无法输入完整的输入