1

我有以下代码来构造一个 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 !"}] 我该怎么办?

4

1 回答 1

2

您需要括号表示法:

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);
于 2013-08-29T14:52:34.507 回答