2013-03-26 4 views
0

배열의 객체를 JSON 객체의 항목에 추가하려고합니다.JSON의 배열에 객체 추가

내가 찾고 있어요 결과는 다음과 같습니다

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

하지만 오류 얻을 "형식 오류를 : 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

왜 당신이에'Selection'을 설정하는 배열 대신 문자열? –

+0

'myJsonObject.Selection = [];',하지만 JSON을 테스트 중이므로'myJsonObject.Selection = $ .parseJSON ('[]');': p –

+0

문자열로 설정합니까? 나는 이것에 처음이다, 그것이 배열이었다고 생각했다. – Villem

답변

2

"[]"! == []. 그게 도움이 되었습니까? 잘못된 유형을 사용 중입니다. 또한 "Selections"으로 출력을 찾고 있지만 "Selection"을 정의하려고 시도하고 있지만 오타라고 가정합니다.

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

을하지만 JSON과 같은 JSON 문자열을 구문 분석하고 싶다면 다음 단지에

myJsonObject.Selection = "[]"; 

변경 :이 작업을해야합니다

myJsonObject.Selection = []; 
+0

너희들은 아름답다! '[]와'$ .parseJSON ('[]')'모두 효과가있었습니다! – Villem

+0

오타를 지적 해 주셔서 감사합니다. :) – Villem

+0

그 시간에'$ .parseJSON'을 사용해야합니까, 아니면 과잉인가요? – Villem