속성 및 모델이 포함 된 백본 컬렉션의 JSON으로의 직렬화가 얼마나 정확하게 수행되는지 알고 싶습니다.JSON에 직렬화 속성이 포함 된 백본 컬렉션
나는이 같은 모음이있는 경우 예를 당 그래서 :
var myCollection = Backbone.Collection.extend({
initialize: function (attr, options) {
this.property = options.property;
}
});
JSON.stringify (myCollection) 함수를 사용하여 캐릭터 라인 화하려고
의 캐릭터 라인 화는 백본 컬렉션 개체에 정의 된 객체 toJSON 메소드를 호출됩니다 . 다음과 같이 백본 컬렉션이 방법을 정의
toJSON : function() {
return this.map(function(model){ return model.toJSON(); });
}
이 컬렉션에 포함 된 유일한 모델이 결과 JSON 객체에 포함됩니다하지만 컬렉션의 속성은 내가 이전에 정의되지 않은 것을 의미한다.
달성 할 수있는 사람이 누구인지 아십니까?
감사합니다.
편집 : 내 원래의 질문에 충분한 어쩌면 명확하지, 내가 내 질문에 정확히 내가이 특정 속성에 대한뿐만 아니라 (일반 문제에 필요한 달성하지만 상상하는 그것을 할 방법입니다 toJSON 메소드를 오버라이드 (override) 할 수 알고 다른 속성을 포함하는 다른 컬렉션이 있고 모두 기본 컬렉션 개체에서 상속받습니다. 그 이상의 JSON 개체를 백본 원래 상태로 복원하는 방법을 알고 싶습니다 (JSON을 전달하는 새 컬렉션을 만들면 확실하지 않음) 생성자의 매개 변수에있는 객체는이 속성을 사용하여 트릭을 수행합니다.
하지만, 로컬 스토리지에 임시 저장 : 그러나,
JSON.stringify
방법을 사용하면 배열에 설정 한 모든 속성을 포함하지 않습니다. 당신이 설명한 것은 내가 드러낸 문제이며, 내가 원하는 것을 달성하기 위해 toJSON 메서드를 어떻게 오버라이드 (override)하는지 정확하게 모르겠습니다. –@JavierTarazaga가'localStorage'에 저장하면'JSON.parse' 메소드를 오버라이드 (override) 할 계획이 없으면 아무 것도하지 않을 것입니다. 콜렉션에서 'toJSON' 메소드를 덮어 쓰고 잘못된 JSON 문자열을'localStorage'에 저장 한 경우에도 나중에 * 검색하고 해당 문자열을 파싱하는 문제가 있습니다. – idbehold