0

我正在尝试将数组中的对象添加到 JSON 对象中的项目中。

我正在寻找的结果是:

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

但是在执行以下操作时出现错误“TypeError:myJsonObject.Selection.push 不是函数”:

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 回答