在JSON中将对象添加到数组

时间:2013-03-26 00:47:33

标签: json

我正在尝试将数组中的对象添加到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;
};

我做错了什么?

1 个答案:

答案 0 :(得分:2)

"[]"!== []。这有帮助吗?您使用的是错误的类型。此外,您正在寻找"Selections"的输出,但您正在尝试定义"Selection",但我认为这是一个错字。这应该有效:

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

但是如果你想将JSON字符串解析为JSON,那么只需更改

myJsonObject.Selection = "[]";

为:

myJsonObject.Selection = [];