有没有办法用变量创建一个JSON对象ID?
var json_result = [];
var id = 20;
json_result.push({id: {parentId: parentId, position: position}});
这导致json对象的值为'id'作为id。我希望实现将值“20”作为关键。
编辑:包含解决方案:
var json_result = {};
var id = 20;
json_result[id] = {parentId: parentId, position: position};
现在你可以像这样访问parentId和位置:
json_result[20].position
json_result[20].parentId
答案 0 :(得分:4)
你不能编写这样的对象文字(顺便说一下它不是“JSON对象”;只是一个普通的Javascript对象),但你可以这样做:
var o = {};
o[id] = {parentId: parentId, position: position};
json_result.push(o);
答案 1 :(得分:1)
var json_result = [];
var id = 20;
var obj = {};
obj[id] = "something";
json_result.push(obj);
答案 2 :(得分:0)
这是JSON规范说密钥应该是字符串的原因之一。你的JSON应该是这样的:
{
"20": {
"parentId": ...,
"position": ...}
}
......或类似的。查看http://json.org/example.html
答案 3 :(得分:0)
是的,你可以这样做:
var obj = {};
obj[id] = {parentId: parentId, position: position};
json_result.push(obj);