Json 中缺少引号

Json 中缺少引号

我有一个非常大的 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/

相关内容