我有以下代码:
var fieldsJson = formBuilder.actions.getData('json', true);
console.log(fieldsJson);
var nameArr = fieldsJson.map(function (item) { return item.name });
但我一直收到错误:
fieldsJson.map is not a function
控制台显然将fieldsJson显示为对象数组,如下所示:
[
{
"type": "text",
"label": "Text Field",
"className": "form-control",
"name": "testfield",
"subtype": "text",
"customField": true
},
{
"type": "text",
"label": "Text Field",
"className": "form-control",
"name": "testfield",
"subtype": "text",
"customField": true
}
]
那么为什么它会为地图功能抛出错误?
答案 0 :(得分:0)
如果fieldsJson是String,则需要使用JSON.parse
解析它:
var fieldsJson = formBuilder.actions.getData('json', true);
console.log(fieldsJson);
fieldsJson = JSON.parse(fieldsJson)
var nameArr = fieldsJson.map(function (item) { return item.name });
答案 1 :(得分:0)
您几乎肯定会查看JSON字符串表示形式。这也将捕获任何格式错误的json:
try {
JSON.parse(fieldsJson);
} catch (e) {
console.log(e);
}
的详细信息