Fehlende Zitate in Json

1253
user1386906

Ich habe eine sehr große Json-Datei. Es enthält 27000 Datensätze.

Ein Datensatz sieht so aus:

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

Das Problem ist, dass dieser Json nicht gültig ist. Für die Namen fehlen die Anführungszeichen.

So acquisition.datesollte es zum Beispiel sein"acquisition.date":

Ich muss diese große Json-Datei bearbeiten und alle Anführungszeichen hinzufügen. Andernfalls wird die Datei nicht mit D3.js analysiert

Wie repariere ich diese Json-Datei am besten?

1
Welches Betriebssystem verwendest du? Dennis vor 11 Jahren 0
An die Migrantenwähler: Ich denke nicht, dass dies ein Thema ist. Dies kann leicht durch einen sed-Befehl oder ähnliches behoben werden. Und es ist sicherlich keine Programmierfrage, daher ist es wahrscheinlich kein Thema für Stack Overflow. Dennis vor 11 Jahren 0

1 Antwort auf die Frage

2
user1386906

Das ist meine Lösung:

Ich würde einen anständigen Texteditor mit Regex-Such- und Ersetzungsfunktion verwenden (z. B. Visual Studio, UltraEdit usw.).

Dann tun: suchen

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

und für die Namen mit 2 Punkten:

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

und durch ersetzen

"$1": 

Oder Sie könnten Powershell verwenden:

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