2

JSON.stringify()メソッドを使用してjavascriptオブジェクトをjsonに変換しようとしています。私の問題は、オブジェクトをスティンジ化すると、オブジェクトのキーと値のみがスティンジ化されることです。オブジェクト名は含まれません。

のような出力が欲しいのです{"Color" : "{"Name":"background","Type":"Color","Value":"Red"}"}が、出力は{"Name":"background","Type":"Color","Value":"Red"}.

ここにデモがあります。

json がこのように機能することは知っていますが、これを実現する方法が必要です。前もって感謝します !

4

3 に答える 3

6

オブジェクトはそれ自体の名前を知らないため、JSON で明示的に名前を付ける必要があります。

JSON.stringify({'Color': color});
于 2013-05-27T09:33:19.453 に答える
2

createColorcolor オブジェクトを含むプロパティを持つオブジェクトを返す関数を作成できます。

function createColor() {
  var color = new Color();
  color.Name = "background";
  color.Type = "Color";
  color.Value = "Red";

  return { Color: color };
}

デモ: http://jsfiddle.net/Guffa/hMwjq/5/

于 2013-05-27T09:42:33.437 に答える
1

これを試して :

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

完全なデモを見る

于 2013-05-27T09:37:14.253 に答える