Вывод данных json в ASP.NET - PullRequest
       30

Вывод данных json в ASP.NET

1 голос
/ 15 сентября 2009

Я использую команду ASP.NET

var returnValue = new JsonResult { Data = items.Skip((pageNumber - 1) * pageSize).Take(pageSize) };

return returnValue;

чтобы вернуть постраничное содержимое таблицы через JSON, но когда я попытался разобрать его, в jQuery $.each принимает каждый символ как отдельный элемент.

Выходные данные по линии

[{"ItemNumber":1,"Description":"Description1"}, {"ItemNumber":2,"Description":"Description2"}]

перечисление всех строк и полей правильно. Однако это не похоже на правильно отформатированный JSON для меня (я полагаю, он должен быть заключен в {}), не так ли?

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

Ответы [ 5 ]

1 голос
/ 15 сентября 2009

Это правильно отформатированный JSON.

Вы можете попробовать оценить его с помощью

var someVar = eval(jsonValue);

но это может привести к XSS.

Или даже использовать этот плагин .

Этот вопрос также может быть связан.

0 голосов
/ 15 сентября 2009

Я использую функцию AJAX.NET Sys.Serialization.JavaScriptSerializer.deserialize , чтобы получить мои данные JSON, когда я их создал, используя System.Web.Script.Serialization.JavaScriptSerializer.Serialize .

0 голосов
/ 15 сентября 2009

Насколько я знаю, в Asp.net Ajax также существует следующий десериализатор json:

Sys.Serialization.JavaScriptSerializer.deserialize(...)

Тебе придется искать точное использование, так как я не знаю его по слухам.

0 голосов
/ 15 сентября 2009

Разве вы не можете пройти через это, как это?

for (i = 0; i <= returnValue.length - 1; i++){
   //access your properties like this:
   returnValue[i].ItemNumber;
   returnValue[i].Description;
}

Я не знаю, будет ли работать JsonResult так, но если вы вернете список объектов в коде на стороне сервера, он будет работать так. Если вы используете Asp.Net AJAX, он будет сериализован автоматически.

0 голосов
/ 15 сентября 2009

На самом деле, использование eval может быть опасным: в отличие от случая, когда оно заключено в {}, возможно разрушить построение массива. Это происходит, когда eval пытается создать массив с помощью конструктора Array. Смотрите этот пост .

Если вас это не беспокоит, вы можете использовать eval - для безопасности плагин JQuery в ответе wtaniguchi.

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