javascript - 从变量值动态填充JSON数组

我正在尝试修改此JS / Jquery代码:

new MyFormView({
        title: "Original"
        , collection: new MyFormSnippetsCollection([
          { "title" : "Form Name"
            , "fields": {
              "name" : {
                "label"   : "Form Name"
                , "type"  : "input"
                , "value" : "Form Name"
              }
            }
          }
        ])
      })


我想从变量中插入JSON数据(而不是像上面那样硬编码),那么如何将变量插入“ MyFormSnippetsCollection”的值中?

例如,我在字符串中具有预格式化的JSON:

var jsondata = '{ "title" : "Form Name"
            , "fields": {
              "name" : {
                "label"   : "Form Name"
                , "type"  : "input"
                , "value" : "Form Name"
              }
            }
          }'


我正在寻找这样的东西(不起作用):

new MyFormView({
        title: "Original"
        , collection: new MyFormSnippetsCollection([
          jsondata
        ])
      })


还是不会那么简单?任何建议表示赞赏。

最佳答案

如您所说,如果jsondata是字符串,请注意MyFormSnippetsCollection接受一个以对象作为子对象而不是以字符串作为子对象的数组。将jsondata转换为对象。

const jsondata = JSON.parse('{ "title" : "Form Name", "fields": {
  "name": {
    "label": "Form Name",
    "type": "input",
    "value": "Form Name"
  }
}
}');
new MyFormView({
  title: "Original",
  collection: new MyFormSnippetsCollection([
    jsondata
  ])
})