Aquarius24
Aquarius24

Reputation: 1866

Not able to read JSON file

I have following code for reading a JSON file.It is giving no error but i am getting null in the variable:

var myData = null;
$.ajax({
    type: 'GET',
    async: false,
    url: 'myJson.json',
    dataType: 'json',
    success: function (r) {
        myData = r;
    }
});

Below is my JSON file:

{items:[{value:"1",name:"John"},{value:"2",name:"Henry"}]};

Upvotes: 2

Views: 1703

Answers (1)

Benjamin Gruenbaum
Benjamin Gruenbaum

Reputation: 276306

Your JSON is invalid.

An object serialized in JSON is in the following format:

enter image description here

Where string is:

enter image description here

JSON strings must be escaped. You're missing the "s.

A correct JSON would be:

{"items":[{"value":"1","name":"John"},{"value":"2","name":"Henry"}]}

How I created it

Even if I hadn't remembered or looked up the specific JSON rules, you can always produce the JSON from the JS variable assuming it's serializable (in your case it is) by:

  • Open a JavaScript console
  • Type var a = and paste your object literal
  • Press enter.
  • Type JSON.stringify(a);
  • Press enter. Copy the result.
  • Paste the result in your external .json file. JavaScript's JSON.stringify produces valid JSON.

Upvotes: 13

Related Questions