json - 基于变量创建json对象id

时间:2012-07-30 14:53:00

标签: javascript json

有没有办法用变量创建一个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

4 个答案:

答案 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);