2013-08-07 3 views
1

녹아웃 매핑 된 JSON 스키마 편집기를 표 형식으로 만들려고했습니다. json 객체를 성공적으로 매핑했지만 문제는 json 배열을 처리 할 때입니다.중첩 된 JSON 배열

이 코드는 한 데이터가

data = {} 

입니다하지만 JSON 객체의 배열을 다룰 때 내가 매핑 할 수 아니에요으로 작동

var l_Model; 
//Create model 
l_Model = function(l_data) { 
    var self = this; 
    //map data from json as observables 
    ko.mapping.fromJS(l_data, {}, self); 
    //observable to get equation from json 
    self.Eqn = ko.observable(null); 
}; 
//view model mapping to html 
var viewModelMapping = { 
    'dataModel': { 
     create: function(options) { 
      return new l_Model(options.data); 
     } 
    } 
}; 
var vm = ko.mapping.fromJS(Data); 

코드

data =[{},{},{},.....] 

콘솔에서 오류가 발생합니다.

Uncaught ReferenceError: Unable to parse bindings. 

JS Fiddle

+0

와 데이터 처리를 계속할 수 있습니다! – nemesv

+3

귀하의 질문은 이제 좋아 보이지만 여전히 문제를 해결하려고하는 누군가를위한 충분한 세부 사항을 포함하고 있지 않습니다. 반면에 당신의 바이올린은 필요한 것보다 너무 많은 것을 담고 있습니다. 현재의 바이올린이 너무 많고 지저분한 코드를 포함하고 있기 때문에 문제를 절대 최소로 줄이기 위해 노력하십시오. 엄청난 양의 간소화가 없다면 누구든지 귀하의 문제를 읽고 이해하려고 노력할 것입니다. 맵핑 플러그인을 직접 포함하는 대신 스타터에게 cdnjs.com에서 참조 할 수 있습니다. – nemesv

+0

jsfiddle의 코드를 업데이트했습니다. – Okky

답변

1

당신은 배열의 루트에서 개체를 매핑하고 각 항목을 처리하고 객체를 분리 할 수 ​​있습니다. JSFiddle가 다운되면 아무도 당신의 질문을 이해하지 수 있기 때문에 당신은, 코드의 관련 부분에 귀하의 게시물을 수정하십시오 개체 내부에 또 다른 매퍼가 중첩 매퍼

 //mapper method 
     mapCollection = { 
      '': { 
       create: function (options) { 
        return new objectWithAnotherMapper(options.data); 
       } 
      } 
     },