使用动态字段创建JSON而不使用JSON.parse

时间:2012-06-28 10:57:11

标签: javascript json

我有一个有效的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"}

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

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

来动态创建JSON字符串

示例:

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

// Output '{"hi":"abc"}'

答案 2 :(得分:0)

你可以这样做

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

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

然后是console.log(obj);