我有一个非常大的 Json 文件。它包含 27000 条记录。
记录如下:
{
adlibJSON: {
recordList: {
record: [
{
@attributes: {
priref: "4372",
created: "2011-12-09T23:09:57",
modification: "2012-08-11T17:07:51",
selected: "False"
},
acquisition.date: [
"1954"
],
acquisition.method: [
"bruikleen"
],
association.person: [
"Backer, Bregitta"
],
association.subject: [
"heraldiek"
],
collection: [
"Backer, collectie"
], ... ...
问题是这不是有效的 Json。名称缺少引号。
例如acquisition.date
应该是"acquisition.date":
我需要编辑这个大 json 文件并添加所有引号,否则该文件无法用例如 D3.js 进行解析
修复这个 Json 文件的最佳方法是什么?
答案1
这是我的解决方案:
我会使用具有正则表达式查找和替换功能的优质文本编辑器(例如,Visual Studio、UltraEdit 等)。
然后执行:找到
^\s*(\w+\.\w+)\s*:
对于带有 2 个点的名称:
^\s*((\w+\.\w+)+)\s*:
并替换为
"$1":
或者你可以使用 powershell:
$allText = gc yourfile.txt
$allText -replace '^\s*(\w+\.\w+)\s*:', '"$1":'
答案2
您可以使用 Hjson。如果您只需要一个文件,请使用在线用户界面https://hjson.github.io/try.html(我已经用它处理了 100,000 多行 json 而没有问题),此外还有多种编程语言的库或 CLIhttps://hjson.github.io/。