Missing Quotes in Json

I have a very large Json file. It contains 27000 records.

a record looks like this:

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

The problem is that this is not valid Json. The quotes are missing for the names.

Like for example acquisition.date should be "acquisition.date":

I need to edit this big json file and add all the quotation marks, otherwise the file doesn't parse with for example D3.js

What is the best way to repair this Json file?

2

2 Answers

This is my solution:

I'd use a decent text editor with regex find and replace capability (e.g., Visual Studio, UltraEdit, etc.).

Then Do: find

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

and for the names with 2 dots:

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

and replace with

"$1":

Or you could use powershell:

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

You could use Hjson. If you only need it for one file use the online user interface (I've used it with 100.000+ lines of json without problem), otherwise there are libraries for multiple programming languages or a CLI at .

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

James H. Sterling

James H. Sterling

Environmental Science & Climate Journalist

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.

Share this article
Twitter Facebook Pinterest