我正在尝试从下面带有“$ .each”的JSON文件中获取值,但它没有使用我在下面使用的$ .each方法给出任何值,有人有任何建议我如何制作这项工作正常吗?我想获得每个具有问题值的对象[问题]的信息,然后是每个问题的答案。
JSON:
[
{
"Question": "Question 1",
"Answers": [
{
"Answers": "Answer 1",
"Correct": false
},
{
"Answers": "answer2",
"Correct": true
}
]
},
{
"Question": "Question 2",
"Answers": [
{
"Answers": "An Answer",
"Correct": false
}
]
}
]
jQuery的:
$(document).ready(function () {
$.get("data.php", function(data) {
$.each(data, function(i, val) {
var q = new Question(count++, val.Question);
questions.push(q);
});
$.each(val.Answers, function(i, a) {
q.addAnswer(a.Answers, a.Correct, q);
questions.push(q);
});
});
感谢任何帮助!
更新
$(document).ready(function () {
$.get("data.php?campaign_id=39&social_user_id=1192&edit=true", function(data){
var questions = [];
$.each(data, function(i, val) {
var q = new Question(count++, val.Question);
questions.push(q);
$.each(val.Answers, function(i, a) {
q.addAnswer(a.Answers, a.Correct, q);
});
});
});
});
答案 0 :(得分:3)
如果要从第二个访问val
,则需要嵌套循环。你似乎把右括号放错了地方。
var questions = [];
$.each(data, function(i, val) {
var q = new Question(count++, val.Question);
questions.push(q);
$.each(val.Answers, function(i, a) {
q.addAnswer(a.Answers, a.Correct, q);
});
});
process(questions); // callback
答案 1 :(得分:0)
我现在正在管理它!
这是我使用的代码:
$.get("data.php",
function(data) {
$.each(data, function(q ,val) {
var q = new Question(count++, val.Question);
questions.push(q);
$.each(val.Answers, function(a, val) {
q.addAnswer(val.Answers, val.Correct, q);
});
});
}, "json");