基于变量创建json对象id

create json object id based upon variable

本文关键字:创建 json 对象 id 变量 于变量      更新时间:2024-05-21

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

您不能编写这样的对象文字(顺便说一句,它不是"JSON对象";只是一个普通的Javascript对象),但您可以这样做:

var o = {};
o[id] = {parentId: parentId, position: position};
json_result.push(o);
var json_result = [];
var id = 20;
var obj = {};
obj[id] = "something";
json_result.push(obj);

这就是JSON规范规定键应该是字符串的原因之一。您的JSON应该是这样的:

{
  "20": {
    "parentId": ..., 
    "position": ...}
}

或类似的。退房http://json.org/example.html

是的,你可以这样做:

var obj = {};
obj[id] = {parentId: parentId, position: position};
json_result.push(obj);