Как мне прочитать эту строку JSON? - PullRequest
1 голос
/ 03 ноября 2010

Я получаю эту строку JSON из веб-службы ASP.Net:

{"d":{"Table":[{"col1":123,"col2":"name","col3":"name","col4":100,"col5":"\/Date(1153033200000)\/"},{"col1":123,"col2":"name","col3":"name","col4":101,"col5":"\/Date(1153033200000)\/"},{"col1":123,"col2":"name","col3":"name","col4":102,"col5":"\/Date(1153033200000)\/"}]}}

В моем jQuery как я могу ссылаться на код таблицы, чтобы я мог просматривать данные в цикле?

msg.d [i] .col1

Чего мне не хватает?msg.d.table [я]

Ответы [ 4 ]

2 голосов
/ 03 ноября 2010

Свойство d является объектом, который содержит свойство Table, которое является массивом объектов, которые содержат свойство col1.

Итак, вы используете msg.d.Table для доступа к массиву, msg.d.Table[i] для доступа к элементу в массиве и msg.d.Table[i].col1 для доступа к свойству в элементе.

Обратите внимание, что Javascript чувствителен к регистру, поэтому пока msg.d.Table работает, msg.d.table не будет.

Получает массив и проходит по нему:

var tableArray = msg.d.Table;
$.each(tableArray, function(){
  alert(this.col1);
});
2 голосов
/ 03 ноября 2010

msg.d это объект. msg.d.Table даст вам то, что вы хотите.

Для повторения:

$.each(msg.d.Table, function(row) {
  // Get specific value:
  window.alert(row.col1);
  // Iterate through all columns:
  $.each(row, function(column, value) {
    // Do something..
  });
});
1 голос
/ 03 ноября 2010
$.each(msg.d.Table, function(i, val) {
   alert(val.col1);
});

Надеюсь, это поможет!

0 голосов
/ 03 ноября 2010

Вы можете использовать JSON-анализатор JQuery:

data = jQuery.parseJSON(JSON_DATA);

А затем обращаться к объектам напрямую через переменную данных:

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