Faltando citações em Json

1

Eu tenho um arquivo Json muito grande. Contém 27000 registros.

um registro se parece com isso:

    {
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"
], ... ...

O problema é que isso não é válido Json. As citações estão faltando para os nomes.

Por exemplo, acquisition.date deve ser "acquisition.date":

Eu preciso editar esse grande arquivo json e adicionar todas as aspas, caso contrário, o arquivo não será analisado, por exemplo, com D3.js

Qual é a melhor maneira de reparar esse arquivo Json?

    
por user1386906 22.01.2013 / 19:45

1 resposta

2

Esta é a minha solução:

Eu usaria um editor de texto decente com o recurso de localizar e substituir regex (por exemplo, Visual Studio, UltraEdit, etc.).

Então faça: encontre

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

e para os nomes com 2 pontos:

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

e substitua por

"$1":

Ou você pode usar o powershell:

$allText = gc yourfile.txt
$allText -replace '^\s*(\w+\.\w+)\s*:', '"$1":'
    
por 22.01.2013 / 21:56

Tags