2012-04-20 2 views
0

json-fileをリストにロードしようとしています。誰かが私が間違っているのを見ることができますか?私は間違いがない。jsonファイルをSencha Touchにロードするにはどうすればよいですか?

Data.js:

Ext.regModel('Contact', { 
    fields: ['bandName', 'playDate'] 
}); 

ListDemo.ListStore = new Ext.data.Store({ 
    model: 'Contact', 
    sorters: 'bandName', 
    getGroupString : function(record) { 
     return record.get('bandName')[0]; 
    }, 

    /*data: [ 
     { bandName: "Bandname",  playDate: "Thursday 20:00" } 
    ]*/ 

    proxy: { 
     type: 'scripttag', 
     url: 'http://domain.com/artists.json', 
     reader : { 
      type : 'json', 
     }, 
     autoLoad: true 
    } 
}); 

Index.js:

ListDemo =新しいExt.Application({ 名: "ListDemo"、

launch: function() { 

    ListDemo.detailPanel = new Ext.Panel({ 
     id: 'detailpanel', 
     tpl: 'Hello, {bandName}!', 
     dockedItems: [ 
      { 
       xtype: 'toolbar', 
       items: [{ 
        text: 'back', 
        ui: 'back', 
        handler: function() { 
         ListDemo.Viewport.setActiveItem('disclosurelist', {type:'slide', direction:'right'}); 
        } 
       }] 
      } 
     ] 
    }); 

    ListDemo.listPanel = new Ext.List({ 
     id: 'disclosurelist', 
     store: ListDemo.ListStore, 
     itemTpl: '<div class="contact">{bandName}<br /><span style="font-size:12px;">{playDate}</span></div>', 
     grouped: true, 
     onItemDisclosure: function(record, btn, index) { 
      ListDemo.detailPanel.update(record.data); 
      ListDemo.Viewport.setActiveItem('detailpanel'); 
     } 
    }); 

    ListDemo.Viewport = new Ext.Panel ({ 
     fullscreen: true, 
     layout: 'card', 
     cardSwitchAnimation: 'slide', 
     items: [ListDemo.listPanel, ListDemo.detailPanel] 
    }); 

} 
}); 

私のJSONファイル:

[ 
    { "id": 1, "bandName": "Moe", "playDate": "Thursday" }, 
    { "id": 2, "bandName": "Larry", "playDate": "Thursday" }, 
    { "id": 3, "bandName": "Curly", "playDate": "Thursday" }  
] 

誰も私が間違っているのを見ることができますか?

答えて

0

JSONファイルは配列形式です。この配列を持つノードを値として追加し、Sencha Touchファイル内の(プロキシの)データノードをこのノードに設定します。次のように JSONはなります

"data": [ 
    { "id": 1, "bandName": "Moe", "playDate": "Thursday" }, 
    { "id": 2, "bandName": "Larry", "playDate": "Thursday" }, 
    { "id": 3, "bandName": "Curly", "playDate": "Thursday" }  
] 
+0

こんにちは、私はjsonで新しいです。どうすれば作成できますか? – Elias

+0

編集をご覧ください。 – Geerten

0

あなたはあなたのコードをデバッグするためにクロムブラウズとChromeデベロッパーツールを使用する必要があります。あなたのjsonファイルは正しいです。

+0

これは正しいJSONですが、Sencha Touchが理解できるように正しいですか?彼らはそれを正しく解析するために特定の構造が必要です。 – Geerten

+0

あなたはSencha Touchの例でjsonファイルを参照できます –

関連する問題