получать по одному символу в JQuery Json - PullRequest
0 голосов
/ 03 февраля 2011

У меня есть приложение asp.net mvc 2. с тех пор пару дней я пытался прочитать список от действия контроллера до Jquery, возвращая Json через действие. но мне нужно много времени и усилий, чтобы решить эту проблему. Теперь я могу прочитать данные json, используя:

$.getJSON('/LoadTest/GetAllQuestionsForTest', function(data) {
    $.each(data, function(i,item) {
        alert(item);
    });
});

, так как мой вывод JSON:

[{"QuestionId":2,"QuestionText":"Question 1","TopicId":1},{"QuestionId":3,"QuestionText":"Question 2","TopicId":1}]

где, поскольку я получаю здесь один за другим символ в окне предупреждения, а не строку типа «QuestionId». Я хочу прочитать значение «QuestionId» и «QuestionText» из этого сценария, как я могу это сделать? даже я попробовал данные ["QuestionId"], но смог прочитать

1010 * Отредактированный *

This is working for me :

      $.getJSON('/LoadTest/GetAllQuestionsForTest', function(data) {

                var t = $.parseJSON(data);
                alert(t[0].QuestionText);


            });

, но показывает только 0-е проиндексированное значение. Я хочу получить количество объектов в сборе данных. так что я могу повторить это. как это сделать?

Ответы [ 5 ]

1 голос
/ 03 февраля 2011

Вы можете попробовать:

alert(data[0].QuestionId)

попробовать сделать:

$.get("/LoadTest/GetAllQuestionsForTest", function(data) {
   alert(data);
   var t = $.parseJSON(data);
   alert(t);
})

Какой выход?

Кстати, вы используете это на своем контроллере?:

return Json(object, JsonRequestBehavior.AllowGet);
0 голосов
/ 03 февраля 2011

Функция каждая в этом случае захватывает каждый массив. Возможно, вы захотите перебрать значения массивов с внутренним значением.

$.each(json, function(i,item) {
    $.each(item, function(j,subitem) {
        alert(subitem);       
    });
});
0 голосов
/ 03 февраля 2011

я думаю

alert(item[i].QuestionId);

хорошо, давайте удалим каждый.

написать

alert(data[0].QuestionId);

вместо

$.each(data, function(i,item) {
        alert(item);
    });
0 голосов
/ 03 февраля 2011

Ты почти там.

Похоже,

$.each(data, function(i) {
    alert(data[i].QuestionId);
});

должно сработать?

0 голосов
/ 03 февраля 2011

Я думаю, вам нужно использовать

alert(data[i].QuestionId);
alert(data[i].QuestionText);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...