我有asp.net mvc 2应用程序。 因为几天我试图通过操作返回Json,从控制器到Jquery的操作中读取List。但需要花费大量的时间和精力来解决这个问题。现在我可以使用以下方法读取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”]但可以阅读它
被修改
This is working for me :
$.getJSON('/LoadTest/GetAllQuestionsForTest', function(data) {
var t = $.parseJSON(data);
alert(t[0].QuestionText);
});
但仅显示第0个索引值。我想在数据收集中获取对象的数量。所以我可以迭代它。怎么做?
答案 0 :(得分:1)
您可以尝试:
alert(data[0].QuestionId)
尝试做:
$.get("/LoadTest/GetAllQuestionsForTest", function(data) {
alert(data);
var t = $.parseJSON(data);
alert(t);
})
输出是什么?
你在控制器上使用它吗? :
return Json(object, JsonRequestBehavior.AllowGet);
答案 1 :(得分:0)
我认为你需要使用
alert(data[i].QuestionId);
alert(data[i].QuestionText);
答案 2 :(得分:0)
你快到了。
看起来像是
$.each(data, function(i) {
alert(data[i].QuestionId);
});
应该做什么?
答案 3 :(得分:0)
我想
alert(item[i].QuestionId);
好吧,让我们删除每个。
写
alert(data[0].QuestionId);
代替
$.each(data, function(i,item) {
alert(item);
});
答案 4 :(得分:0)
在这种情况下,每个函数都抓取每个数组。您可能希望使用内部每个迭代数组的值。
$.each(json, function(i,item) {
$.each(item, function(j,subitem) {
alert(subitem);
});
});