beginner
beginner

Reputation: 2508

How $.parseJSON() parses an array?

I get an array from mysql query in test.php

$rows =Array ( [0] => Array ( [name] => nikhil ) [1] => Array ( [name] => akhil ))

I convert it into json format string and echo it

$jsonstring = json_encode($rows);
echo $jsonstring;

OUTPUT :

[{"name":"nikhil"},{"name":"akhil"}]

I know this is still not in json format but it is an array(of json)

But now i can use $.parseJSON in jquery.php

 $.post("/test.php",function(r){var jsonobject = $.parseJSON(r); 
    for(var i=0;jsonobject[i];i++){
  $("#userslist").append("<br>" + jsonobject[i].name);}

and it parse it properlly , and i can access this json object as well , but as we know

$.parseJSON() converts only well formed json string into object. http://api.jquery.com/jquery.parsejson/

$.parseJSON(): Takes a well-formed JSON string and returns the resulting JavaScript value.

so how $.parseJSON() parse an array ? any ideas?

Upvotes: 1

Views: 71

Answers (1)

Pointy
Pointy

Reputation: 413826

A JSON value can be:

  • A number;
  • A string;
  • The values null, true, or false;
  • An array of JSON values;
  • An object consisting of string property names and JSON values for each.

So

[{"name":"nikhil"},{"name":"akhil"}]

is a perfectly good JSON value. It's an array containing two values, each of which are objects with a single property having a string value.

Upvotes: 7

Related Questions