リスト(場所の配列)に表示する必要がある以下のjsonがあります。rootProperty:response.data.locationsを使用してlocations配列を取得できますが、成功、ロゴ、およびbackgroundpictureを取得するにはどうすればよいですか。どんな提案も役に立ちます。
Ext.data.JsonP.callback1(
{
"response": {
"success": true,
"data": {
"logo": "http:\\/\\/www.websiteurl.nl\\/Images\\/logo.jpg",
"backgroundpicture": "http:\\/\\/www.websiteurl.nl\\/Images\\/logo.jpg",
"locations": [
{
"id": "47",
"name": " 's-Gravenzande (De Carlton)",
"street": "Naaldwijkseweg",
"number": "257",
"zipcode": "2691 PV",
"city": "'s Gravenzande",
"province": "9",
"phone": "0174-412997",
"email": "info@websiteurl.nl",
"kvk": "27210224",
"lat": "51.988593",
"longitude": "4.188087",
"slug": "-sGravenzande-De-Carlton",
"website": "http:\\/\\/www.websiteurl.nl",
"logo": null,
"backgroundpicture": null
},
{
"id": "1",
"name": "Achterberg",
"street": "Weteringsteeg",
"number": "12",
"zipcode": "3911 VN",
"city": "Achterberg",
"province": "7",
"phone": "0317-613643",
"email": "info@websiteurl.nl",
"kvk": "30093218",
"lat": "51.976316",
"longitude": "5.601611",
"slug": "-Achterberg",
"website": "http:\\/\\/www.websiteurl.nl",
"logo": null,
"backgroundpicture": null
}
]
}
}
}
);
リストナーをストアに追加してからこれらをログに記録すると、値が取得されますが、ポイントは、これを解析してストアに保存する方法です。
Ext.define("app.store.LocationStore",{
extend:'Ext.data.Store',
id: 'locationStore',
requires: 'Ext.data.proxy.JsonP',
config:{
autoLoad: 'true',
model:'app.model.LocationModel',
proxy:
{
type:'jsonp',
url:'http://www.websiteurl.nl/API/',
limitParam: false,
pageParam: false,
startParam: false,
extraParams:
{
method:'general',
token: '123456'
},
reader:{
type:'json',
successProperty: 'success',
rootProperty: 'response.data.locations'
}
},
listeners:{
load : function()
{console.log(this.getProxy().getReader().rawData.response.data.backgroundpicture);
console.log(this.getProxy().getReader().rawData.response.data.logo);
console.log(this.getProxy().getReader().rawData.response.success);
console.log("location store loaded");
}
}
}
});