2011-07-19 18 views
7

Chcę wypełnić kolekcję z pliku json, który ma inne dane oprócz tablicy elementów danych. Dowiedziałem się, że funkcja parsowania w kolekcji powinna być używana do zwrócenia tablicy elementów danych, ale moja kolekcja nie jest zapełniana z pliku json. Kiedy zatrzymałem punkt przerwania w analizie parse w firebug, kontrola w ogóle nie nadchodzi.zapełnianie kolekcji z pliku json

To jest mój kod

 var m1 = Backbone.Model.extend({     
       title:'Title1', 
       tag:'html', 
       date: 'Today' 
     }) 
     cll = Backbone.Collection.extend({ 
      url:'/combodata.json?uu', 
      model:m1, 
      parse:function(res){      
       return res.items; 
      } 
     }); 

     ci = new cll(); 
     ci.fetch(); 

Odpowiedź json będzie tak

{ 
'identifier': 'title', 
items:[ 
    {title:'A', tag:"htmlcss", date:'today'}, 
    {title:'AA', tag:"htmlcss", date:'today'}, 
    {title:'B', tag:"htmlcss", date:'today'}, 
    {title:'C', tag:"htmlcss1", date:'today'} 
]} 

Proszę wskazać mi gdzie się mylę.

Odpowiedz

8

Nie jestem ekspertem od JSON, ale próbowałem zweryfikować Twój JSON pod numerem jsonlint.com. Awaria w linii 2

Parse error on line 1: 
{ 'identifier': 'title 
-----^ 
Expecting 'STRING', '}' 

Prosimy o sprawdzenie, czy JSON jest ważny, czy nie.

Właśnie sprawdziłem inną witrynę pod kątem walidacji JSON http://jsonformatter.curiousconcept.com/ i wygląda na to, że identyfikatory łańcuchów powinny być używane z podwójnymi cudzysłowami zamiast pojedynczych cudzysłowów. Zastąpienie pojedynczych cudzysłowów podwójnymi cudzysłowami może pomóc.

+0

Dzięki @NoisySilence jego działanie. – rajkamal