1

我有一个非常大的 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 文件的最佳方法是什么?

4

2 回答 2

2

我会使用具有正则表达式查找和替换功能的体面的文本编辑器(例如,Visual Studio、UltraEdit 等)。

然后做:找到

^\s*(\w+\.\w+)\s*:

并替换为

"$1":

或者你可以使用 powershell:

$allText = gc yourfile.txt
$allText -replace '^\s*(\w+\.\w+)\s*:', '"$1":'
于 2013-01-22T19:00:08.223 回答
0

如果您可以在文本编辑器中打开它,我认为您可以简单地使用替换功能:

],   -->    ]," 

: [   -->   ":  [

如果您的 JSON 的格式始终相同并且不包含这些字符,那么这应该可以。

--

请注意,您必须自己手动编辑第一个键。

于 2013-01-22T18:53:22.327 回答