Как распечатать данные JSON. - PullRequest
6 голосов
/ 25 июля 2010

У меня есть выходной массив json, подобный этому

{
   "data": [
      {
         "name": "Ben Thorpe",
         "id": "XXXXXXXXXXX"
      },
      {
         "name": "Francis David",
         "id": "XXXXXXXXXXX"
      },
}

Я хочу пройтись по нему и распечатать все имена, используя JavaScriptЯ хочу быть в состоянии сделать это.

for(i=0;i<length;i++){
      var result += response.data[i].name + ', ';
}

Но я не могу найти длину объекта json, используя javascript.

Ответы [ 2 ]

5 голосов
/ 25 июля 2010

response.data - это array объектов, поэтому имеет свойство length, которое можно использовать для итерации его элементов.

var result;

for(var i=0;i<response.data.length;i++)
{
      result += response.data[i].name  + ', ';

}
2 голосов
/ 25 июля 2010

Если вы просто хотите взглянуть на него в целях отладки, выполните console.log(myObject) или console.dir(myObject) и посмотрите на консоль firebug / chrome / safari.

Объект не имеет автоматически свойства length, потому что это не массив. Чтобы перебрать свойства объекта, сделайте что-то вроде этого:

for (var p in location) {
  console.log(p + " : " + location[p]);
}

В некоторых случаях вам может потребоваться перебирать свойства объекта, но не свойства прототипа объекта. Если вы получаете нежелательные вещи с обычным циклом for..in, используйте Object.prototype s hasOwnProperty:

for (var p in location) if (location.hasOwnProperty(p)) {
  console.log(p + " : " + location[p]);
}

Дело в том, что если это были / были действительно данные JSON, в какой-то момент это должна была быть строка, поскольку JSON по определению является строковым представлением объекта. Итак, ваш вопрос «Как напечатать данные JSON» почти звучит как «Как напечатать строку». Если вы хотите распечатать его, вы должны быть в состоянии поймать его, прежде чем он доберется до того, что разберет его в этом объекте, и просто распечатать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...