我正在尝试构建一个具有自定义属性名称的 JS 对象。基本上我想创建一个基于根元素的架构。 (如果类型是数组,则为“items”;如果类型为对象,则为“properties”)
var helperObj = type.toLowerCase() === "array" ? "items" : "properties";
var newSchema = {
"title": title,
"type": type,
helperObj.toString() : {}
};
上面给出了一个语法错误:
语法错误:缺少:属性 ID 之后
然后我尝试将字符串解析为 JSON。
var schemaString="{ \"title\":"+title+", \"type\":"+type.toLowerCase()+","+helperObj+":{} }";
var newSchema=JSON.parse(schemaString);
这给出了一个错误:
语法错误:JSON.parse:JSON 数据第 1 行第 11 列出现意外字符
如何获取想要的 JS 对象?
最佳答案
你可以做
var helperObj = type.toLowerCase() === "array" ? "items" : "properties";
var newSchema = {
"title": title,
"type": type,
};
newSchema[helperObj] = {};
或者如果您使用的是 es6,请使用:
var helperObj = type.toLowerCase() === "array" ? "items" : "properties";
var newSchema = {
"title": title,
"type": type,
[helperObj] : {}
};
关于javascript - 添加自定义变量作为 JSON 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40337412/