2013-06-28 3 views
0

나는 이런 모양의 JSON을 가지고있다.개체에 JSON 배열 쓰기

[ 
{ 
    "items": [ 
     { 
      "id": "xxxx", 
      "description": { 
       "style": "", 
       "specs": "" 
      } 
     }, 
     { 
      "id": "xxxx", 
      "description": { 
       "style": "", 
       "specs": "" 
      } 
     } 
    ], 
    "category": "xxxxxx", 
    "name": "xxxxxx" 
}, 
{ 
    "items": [ 
     { 
      "id": "xxxx", 
      "description": { 
       "style": "", 
       "specs": "" 
      } 
     }, 
     { 
      "id": "xxxx", 
      "description": { 
       "style": "", 
       "specs": "" 
      } 
     } 
    ], 
    "category": "xxxxxx", 
    "name": "xxxxxx" 
} 
] 

'newItem'으로 전달됩니다. 나중에

that.cart.addItem(newItem.toObject()); 

을 그리고 : : 그리고 기존 코드에 두 번 설정되는 내가 일하고 있어요

that.origCart.replaceWith(that.cart); 

이 '항목은'단순 목록이 때 전통적으로 잘 근무하고있다. 그러나 위의 JSON은 새로운 JSON 형식이므로 각 범주/이름에 '항목'을 전달해야합니다. 루프 '에 대한'나는이 내가 각각에 필요한 출력 한 내부

. (나는 분리를 유지해야합니다.)

newItem.items 
그러나

, 나는 다음을 수행 할 때이 유형의 오류를 얻을 수 . 나는 적절한 유형 'newItem.items'을 얻기 위해 무엇을 할 수

that.cart.addItem(newItem.items.toObject()); 

TypeError: newItem.items.toObject is not a function 

(예,. 여러 '카트'한 번 나는이 작업을 얻을 수있을거야), 또는 내가 무엇 작업을 대체 할 수 있습니다 이걸 제대로 설정하려면? 나는 성공하지 못한 채 온라인에서 찾은 것들을 여러 번 시도해 보았고 이제 나는 전문가들에게 의지하고있다. 나의 장점은 아니다.

답변

1

항목이 Array 임에도 불구하고 newItems 객체에서 items 함수를 호출하는 것처럼 보입니다. 다음을 시도하십시오.

that.cart.addItem(newItem.items); 
+0

죄송합니다.이 멀티 태스킹을 게시하고 엉망입니다. 위의 두 줄을 고정 시켰습니다. that.cart.addItem (newItem.toObject()); that.cart.addItem (newItem.items.toObject()); – DSel

+0

이것은 궁극적으로 효과가있었습니다. 내가 예제로 변경 : that.cart.addItem (newItem.items [0]); 각 항목에 대한 적절한 데이터를 얻습니다. 내가 이것을 시도했는지 맹세 할 수있다. (toObject가 원래 없어진 이유). 나를 올바른 방향으로 밀어 주셔서 감사합니다. – DSel