我有这个我试图修改的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
])
})
或者不会那么简单?任何建议表示赞赏。
答案 0 :(得分:2)
JSON.parse
var jsondata = '{ "title" : "Form Name", "fields": { "name": { "label": "Form Name", "type": "input", "value": "Form Name" } } }';
var json = JSON.parse(jsondata);
document.getElementById("title").innerHTML = json.title;
<div id="title"></div>
答案 1 :(得分:2)
正如您所说,如果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
])
})