0

配列内のオブジェクトをJSONオブジェクト内のアイテムに追加しようとしています。

私が探している結果は次のとおりです。

{ "AvailableFacets":[ "color", "sheenlevel" ], 
  "Selections":[ 
      { "Facet":"color", "Value":"red" }, 
      { "Facet":"color", "Value":"blue" } 
  ]
}

ただし、次の手順を実行すると、「TypeError:myJsonObject.Selection.push is notafunction」というエラーが発生します。

var testJson = function () {
    var myJsonObject = $.parseJSON('{"AvailableFacets":["color", "sheenlevel"]}');
    myJsonObject.Selection = "[]";
    var newObject1 = $.parseJSON('{"Facet":"color", "Value":"red"}');
    var newObject2 = $.parseJSON('{"Facet":"color", "Value":"blue"}');
    myJsonObject.Selection.push(newObject1);

    return myJsonObject;
};

私は何が間違っているのですか?

4

1 に答える 1

2

"[]"!== []。それは役に立ちましたか?間違ったタイプを使用しています。また、で出力を探して"Selections"いますが、を定義しようとしていますが"Selection"、これはタイプミスだと思います。これは機能するはずです:

myJsonObject.Selection = [{"Facet":"color", "Value":"red"},{"Facet":"color", "Value":"blue"}];

ただし、JSONの文字列をJSONとして解析する場合は、変更するだけです。

myJsonObject.Selection = "[]";

に:

myJsonObject.Selection = [];
于 2013-03-26T00:49:08.560 に答える