在stringify期间,json不包含对象名称

时间:2013-05-27 09:31:30

标签: javascript jquery xml json dom

我正在尝试使用JSON.stringify()方法将javascript对象转换为json。我的问题是,当它对象进行sting化时,它只会对对象的键和值进行sting化。它不包含对象名。

我希望输出像{"Color" : "{"Name":"background","Type":"Color","Value":"Red"}"},但输出来的是{"Name":"background","Type":"Color","Value":"Red"}

Here is Demo

我知道json的工作原理是这样的,但我希望能够实现这一目标。提前谢谢!

3 个答案:

答案 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 };
}

演示:http://jsfiddle.net/Guffa/hMwjq/5/

答案 2 :(得分:1)

试试这个:

(function () {
    var color = createColor();
    jsonObject = {};
    jsonObject.color = color;
    var json = JSON.stringify(jsonObject);
    console.log(json);
})();

请参阅full Demo