我正在尝试使用JSON.stringify()
方法将javascript对象转换为json。我的问题是,当它对象进行sting化时,它只会对对象的键和值进行sting化。它不包含对象名。
我希望输出像{"Color" : "{"Name":"background","Type":"Color","Value":"Red"}"}
,但输出来的是{"Name":"background","Type":"Color","Value":"Red"}
。
我知道json的工作原理是这样的,但我希望能够实现这一目标。提前谢谢!
答案 0 :(得分:6)
该对象不知道自己的名称,因此您需要在JSON中明确命名它:
JSON.stringify({'Color': color});
答案 1 :(得分:2)
您可以使createColor
函数返回一个包含颜色对象的属性的对象:
function createColor() {
var color = new Color();
color.Name = "background";
color.Type = "Color";
color.Value = "Red";
return { Color: color };
}
答案 2 :(得分:1)
试试这个:
(function () {
var color = createColor();
jsonObject = {};
jsonObject.color = color;
var json = JSON.stringify(jsonObject);
console.log(json);
})();
请参阅full Demo