Knockout.JS foreach嵌套的JSON数组

时间:2016-09-16 10:57:54

标签: knockout.js

I have a json such as

{
  "Questionaires": [
    "QuestionaireId": 295,
          "QuestionaireName": "Test",
          "Questions": [
            {
              "QuestionId": 21,
              "QuestionName": "QuestionName",
              "QuestionOptions": "Option1 Option2 Option3"


            }
                   ]

如何将其映射到淘汰赛?我使用jquery getjson提取它,但我不知道如何映射和绑定它。

我是淘汰赛的新手,我很欣赏一些指导。

编辑:我试过这个:

var loadStatisticsAttributes = function (item) {
        var QuestionaireId = ko.observable(item.QuestionaireId),
            QuestionaireName = ko.observable(item.QuestionaireName),
            Questions = ko.observableArray([]);

        for (var i in item.Questions) {
            var question = new loadQuestions(item.Questions[i]);
            Questions.push(question);
        }

        return {
            QuestionaireId: QuestionaireId,
            QuestionaireName: QuestionaireName,
            Questions: Questions
        }
    }

    var loadQuestions = function (item) {

        var QuestionId = ko.observable(item.QuestionId),
            QuestionName = ko.observable(item.QuestionName),
            QuestionOptions = ko.observableArray(item.QuestionOptions);
        // -- TODO --

    } 

我该如何继续?我很感激任何帮助!

1 个答案:

答案 0 :(得分:1)

看看映射插件。它可以很好地将JSON映射到视图模型中。

http://knockoutjs.com/documentation/plugins-mapping.html