2
我將以通常的免責聲明開始:新的Sencha Touch /使用JSON,在黑暗中徘徊。任何幫助或刺激正確的方向比你知道的更讚賞!訪問JSON訂閱源中的嵌套對象 - Sencha Touch
我試圖讓我的應用程序從公開的Google Spreadsheet JSON提要中獲取數據。從我設法弄清楚,我目前的模型是基於JSON數組,而不是嵌套對象。我如何訪問並返回嵌套對象?
Ext.regModel('Count', {
fields: [{name:'$t'}]
});
this.list = new Ext.List({
itemTpl: new Ext.XTemplate('<div>{$t}</div>'),
loadingText: false,
store: new Ext.data.Store({
model: 'Count',
proxy: {
type: 'scripttag',
url : 'http://spreadsheets.google.com/feeds/cells/0AuYDRk91MX8-dHhkV29ZVkRGNjlvZjV4QVBIVmJubVE/odb/public/basic?range=A1&alt=json',
reader: {
type: 'json',
root: 'feed'
}
}
})
});
的JSON數據(多餘的東西去掉,上面的鏈接將顯示所有的它,如果需要的話,包含電子郵件地址,我寧願不發佈,並已編入索引):
{
"feed":{
"entry":[{
"content":{
"type":"text",
"$t":"11"
}
}]
}
}
如果我在使用數組的另一個JSON提要中使用plop,我可以使用它很好,但只是無法弄清楚我需要做什麼來訪問對應於$ t的對象中的整數。如果我將「入口」作爲根而不是「feed」,則會出現一個錯誤消息:「Uncaught TypeError:無法讀取未定義的屬性'長度'。」
嘗試類似:'根:「feed.entry'' - 應該讓你一步一步地接近你想要什麼。 – nelstrom 2011-04-27 07:01:41
@nelstrom謝謝!這讓我略微接近。現在,我的列表生成一個列表項(這很有道理,JSON提要只能得到一個結果),但我仍然無法訪問$ t對象內容。我更新的regModel如下:'Ext.regModel('Count',{{name:'$ t',mapping:'content。$ t'}] });' – Kate 2011-04-27 16:25:26
@nelstrom其實,我有它工作!事實證明,列表項模板不像$ {t}變量中的美元符號。一旦我將它和模型切換到任意名稱的映射,它就開始工作了! 'Ext.regModel('Count',{fields:[{name:'count',mapping:'content。$ t'}]});' – Kate 2011-04-27 16:36:42