我正在尝试将数组中的对象添加到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;
};
我做错了什么?
答案 0 :(得分:2)
"[]"
!== []
。这有帮助吗?您使用的是错误的类型。此外,您正在寻找"Selections"
的输出,但您正在尝试定义"Selection"
,但我认为这是一个错字。这应该有效:
myJsonObject.Selection = [{"Facet":"color", "Value":"red"},{"Facet":"color", "Value":"blue"}];
但是如果你想将JSON字符串解析为JSON,那么只需更改
myJsonObject.Selection = "[]";
为:
myJsonObject.Selection = [];