<分区>
我有以下代码来构造一个 json 对象:
var myJSONObject = [];
var id = "1", value = "I'm a value !";
myJSONObject.push({id:value});
在这个构造之后,当我显示时,我得到类似的东西:[{"id":"I'm a value !"}]
但我想要以下内容:[{"1":"I'm a value !"}]
我该怎么办?
标签 javascript json
<分区>
我有以下代码来构造一个 json 对象:
var myJSONObject = [];
var id = "1", value = "I'm a value !";
myJSONObject.push({id:value});
在这个构造之后,当我显示时,我得到类似的东西:[{"id":"I'm a value !"}]
但我想要以下内容:[{"1":"I'm a value !"}]
我该怎么办?
最佳答案
你需要括号符号:
var myJSONObject = [];
var id = "1", value = "I'm a value !";
var obj = {};
obj[id] = value;
// ^------- THIS!
myJSONObject.push(obj);
并且由于您的 key 是数字,因此您也需要括号表示法才能读取它:
console.log(myJSONObject[0][1]); // or "1"; both will log "I'm a value"
另外,请注意,您所说的“JSON 对象”(没有这样的东西!)实际上是一个 JavaScript 数组,其中包含一个 JavaScript 对象。如果您需要 JSON(例如将其发布到服务器),您可以使用:
var jsonString = JSON.stringify(myJSONObject);
关于javascript - 在 json 构造中更改索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18514262/