1

我在下面有一个有效的 JavaScript 代码,它使用 JSON.parse 方法动态创建 JSON 对象。有没有更短的方法来做到这一点?

var a = '"hi"'; 
var obj = '{' + a + ':' + '"abc"' + '}';
console.log(JSON.parse(obj)); // outputs: OBJECT: {"hi":"abc"} 

更简单的东西,比如......

var a='hi';
console.log({a:"abc"}); // but outputs: OBJECT: {a:"abc"}
4

3 回答 3

3

您可以使用方括号来访问名称为字符串的属性:

var a = "hi";
var obj = {}; //obj is an object literal
obj[a] = "abc"; //Set the 'hi' property of obj

请注意,JSON 只是一种数据格式。它不是 JavaScript。你需要一个 JavaScript 对象字面量,而不是 JSON。

于 2012-06-28T11:00:47.353 回答
0

您可以通过创建常规 JavaScript 对象并使用JSON.stringify

例子:

var obj = { "hi": "abc" };
console.log(JSON.stringify(obj));

// Output '{"hi":"abc"}'
于 2012-06-28T10:59:56.593 回答
0

你可以这样做

var obj = {};
obj["hi"] = "abc";

或者

var obj = {};
obj.hi = "abc";

然后是 console.log(obj);

于 2012-06-28T11:02:18.007 回答