我有以下代码来构造一个 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 !"}]
我该怎么办?
我有以下代码来构造一个 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);
而且由于您的密钥是数字的,因此您也需要括号符号来阅读它:
console.log(myJSONObject[0][1]); // or "1"; both will log "I'm a value"
另外,请注意,您所说的“JSON 对象”(没有这样的东西!)实际上是一个 JavaScript 数组,其中包含一个 JavaScript 对象。如果您想要 JSON(例如将其发布到服务器),您可以使用:
var jsonString = JSON.stringify(myJSONObject);