我有一个有效的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"}
答案 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
示例:
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);