如何使用记事本对不完整的.json文件(缺少括号)中的键进行排序++;还是Python?
我有不完整的.json文件,缺少括号, 但始终使用相同的五个键:如何使用记事本对不完整的.json文件(缺少括号)中的键进行排序++;还是Python?,json,python-3.x,notepad++,Json,Python 3.x,Notepad++,我有不完整的.json文件,缺少括号, 但始终使用相同的五个键:“国家”、“国会大厦”、“货币”、“人口”、“产出” 这五个键也总是以随机顺序排列,如本例所示: "COUNTRY" : "Japan", "CAPITOL" : "Tokyo", "CURRENCY" : "Yen", "POPULATION" : "126 500 000", "OUTPUT" : "4 971 000 000 000", "CURRENC
“国家”、“国会大厦”、“货币”、“人口”、“产出”
这五个键也总是以随机顺序排列,如本例所示:
"COUNTRY" : "Japan",
"CAPITOL" : "Tokyo",
"CURRENCY" : "Yen",
"POPULATION" : "126 500 000",
"OUTPUT" : "4 971 000 000 000",
"CURRENCY" : "USD",
"CAPITOL" : "Washington, D.C.",
"COUNTRY" : "USA",
"OUTPUT" : "20 000 000 000 000",
"POPULATION" : "328 000 000"
...
因此,我无法用记事本++或Python自动添加括号
有什么办法吗
我希望输出总是按相同的顺序,如“国家”、“国会大厦”、“货币”、“人口”、“输出”
下面是我要创建的输出示例:
{"COUNTRY" : "Japan",
"CAPITOL" : "Tokyo",
"CURRENCY" : "Yen",
"POPULATION" : "126 500 000",
"OUTPUT" : "4 971 000 000 000"},
{"COUNTRY" : "USA",
"CAPITOL" : "Washington, D.C.",
"CURRENCY" : "USD",
"POPULATION" : "328 000 000",
"OUTPUT" : "20 000 000 000 000"},
...
有什么建议吗?我的想法是对键进行排序,但可能还有另一种解决方案。这可以在记事本++中使用奇怪的正则表达式来完成
- Ctrl+H
- 查找以下内容:
(?:\G)\s*(?=[\s\s]*?(“国家:”[^“]+”)、\s(?=[\s]*(“国会:”[^“]+”)、\s(?=[\s\s]*(“货币:”[^“]+”)、\s(?=[\s\s]*(“人口:“[^“]+”)、\s(?=[\s\s]*”(“产出:”):[^++”)、\R+>
- 替换为:
{\n$1\n$2\n$3\n$4\n$5\n}\n
- 检查匹配案例
- 检查环绕
- 检查正则表达式
- 取消选中
。匹配换行符
- 全部替换
您需要以5行(或更多行,取决于空行)为单位读取文件,将每个块解析为一个字典,将其添加到列表中,最后将字典列表输出为JSON。如果我可以用Python解析JSON(双键,无括号),这听起来是个好主意。我会尝试,谢谢!