使用值作为元素名推送JSON对象
JavaScript - Pushing JSON Object Using Value as Element Name
我试图将一个对象推入具有动态属性名称的数组中。
假设我们定义了以下变量
myJSON = {"students" : [ {"name":"Your Name"}, {"name":"My Name"} ] };
attribName = "name";
myValue = "myValue";
parsedJSON = JSON.parse(myJSON);
parsedJSON["students"].push({attribName : myValue});
myJSON = JSON.stringfy(parsedJSON);
这个例子不起作用。是否有一种方法来推动一个对象与动态属性名称?
From MDN,
对象属性名可以是任何有效的JavaScript字符串,或者任何可以转换为字符串的东西,包括空字符串。然而,任何不是有效JavaScript标识符的属性名(例如,带有空格或连字符的属性名,或者以数字开头的属性名)只能使用方括号符号访问。当要动态确定属性名称时(当属性名称直到运行时才确定时),此符号也非常有用。
还要注意您提供的输入是object
,而不是json
var myJSON = {
"students": [{
"name": "Your Name"
}, {
"name": "My Name"
}]
};
var attribName = "name";
var myValue = "myValue";
var obj = {};
obj[attribName] = myValue;
myJSON["students"].push(obj);
console.log(myJSON);
function(key, value, json) {
var obj = {};
obj[key] = value;
json['students'].push(obj);
return arr;
}
您也可以在代码中进行修改:
myJSON = {"students" : [ {"name":"Your Name"}, {"name":"My Name"} ] };
attribName = "name";
myValue = "myValue123";
myJSON["students"].push({attribName: myValue});
console.log(myJSON);
相关文章:
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 如何为json对象中的段发送array[]
- 将JSON对象传递给angular指令
- 更改JSON对象的结构
- 访问JSON对象内部的数组元素
- 在ejs-partial中对JSON对象进行迭代
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 访问嵌套JSON对象的键,其中键是动态的
- json对象中缺少对象循环
- 发送json对象或使用express路由呈现视图
- 在play2框架中向json对象添加下拉列表项
- 元素名称上带有短划线 (-) 字符的 Json 对象
- autocomplete不接受源的json对象
- 如何在javascript中创建动态json对象
- 在使用客户端脚本时拾取JSON对象
- 如何通过json对象数组为嵌套对象赋值
- 构造JSON对象