2011-11-03 2 views
0

나는 이것으로 내 머리카락을 꺼냅니다. 무슨 일이 일어나고 있는지 잘 모르겠습니다. 매핑에 대한 모든 자습서를 읽었지만 분명히 누락되었습니다.내 개체가 잘못되었습니다 (knockoutjs 매핑 플러그인 관련)

{ 
     "address": "110", 
     "city": "Durham", 
     "id": 1, 
     "name": "Keep", 
     "persistent": true, 
     "salesRep": "Me", 
     "state": "NC", 
     "user": { 
      "email": "[email protected]", 
      "id": 4, 
      "name": "Test", 
      "password": "test", 
      "persistent": true 
     } 
    } 

내 예전의 코드에서

ko.mapping.fromJS(data); 

ko.mapping.fromJSON(data); 

을 시도했습니다 나는이 일을 끝났다.

viewModel.customers(data); 

하지만 JSON이 다르게 보입니다. 그것은 중첩 된 객체를 가지지 않았고 시작 부분에 대괄호가 있었고 배열로 만드는 것을 끝 냈습니다. 이것이 아주 기본적인 것 같습니다. 전혀 오류가 발생하지 않습니다. 도와 주셔서 감사합니다. 샘플에서

편집

http://jsfiddle.net/gjemN/

+0

이 문제를 repro 수있는 jsfiddle을 만들 수 : 같은

ko.mapping.fromJS(data2, null, viewModel.customers)

뭔가? –

+0

귀하의 질문은 무엇입니까? 무슨 일이 일어나고 있다고 생각하지 않는거야? – rossipedia

+0

사람들이 jsfiddle을 추가했습니다. @BryanRoss : JSON 문자열에서 매핑을 수행하려고합니다. 이 시점에서 작동하지 않습니다. 감사. –

답변

3

당신은 자바 스크립트 객체가 아닌 JSON (그것의 문자열 표현)을 다루고있다.

그래서 ko.mapping.fromJS를 호출 할 수 있습니다. 당신이 고객의 배열을 다시 가져 오는 경우에, 당신은 할 수 : http://jsfiddle.net/rniemeyer/BQe2z/

+0

나는 이것과 함께 갈 것이다. 나는 완전한 바보 같아. 내 JSON은 Java로 만들어졌습니다. 어리석게도, 자바리스트를 Json 배열로 매핑하지 않고 객체를 매핑했습니다. 그래서 제가 가지고있는 것은 객체이고 배열이 아닙니다. 그것이 작동하지 않는 이유입니다. Derp. Lol. –

+0

안녕하세요 @RP, "null"매개 변수는 무엇입니까? –

관련 문제