OussamaLord
OussamaLord

Reputation: 1095

JQuery parse JSON return null

Hello I have the following JSON returned from my server side:

{"command":"SELECT","rowCount":1,"oid":null,"rows":[{"username":"xxxx"}],"fields":[{"name":"username","tableID":34722,"columnID":3,"dataTypeID":1043,"dataTypeSize":-1,"dataTypeModifier":204,"format":"text"}],"_parsers":[null]}

I'm parsing that json in javascript like this :

 var ParsedJSONResponse = $.parseJSON(JSONResponseFromServerSide);

The variable is "ParsedJSONResponse" always null, my JSON is valid I checked it in JSONLint so what is going on please?

Upvotes: 0

Views: 5913

Answers (2)

Shalom Aleichem
Shalom Aleichem

Reputation: 3027

Your code is correct check out this JSFiddle.

var JSONResponseFromServerSide = '{"command":"SELECT","rowCount":1,"oid":null,"rows":[{"username":"xxxx"}],"fields":[{"name":"username","tableID":34722,"columnID":3,"dataTypeID":1043,"dataTypeSize":-1,"dataTypeModifier":204,"format":"text"}],"_parsers":[null]}'; //it's your json string
$.parseJSON(JSONResponseFromServerSide); //nothing wrong

If JSONResponseFromServerSide is already a JavaScript object, than you don't have to do parseJSON

Upvotes: 0

Ilya
Ilya

Reputation: 29703

You should parse the String

var stringJson = '{"command":"SELECT","rowCount":1,"oid":null,"rows":[{"username":"xxxx"}],"fields":[{"name":"username","tableID":34722,"columnID":3,"dataTypeID":1043,"dataTypeSize":-1,"dataTypeModifier":204,"format":"text"}],"_parsers":[null]}';  
var ParsedJSONResponse = $.parseJSON(stringJson);  

You just have a Json (JSONResponseFromServerSide) and no reason to parse it.

Parsing the Json object returns null.

$.parseJSON({}); // returns `null`  

Upvotes: 3

Related Questions