Sencha Touch JsonPreader
-
25-10-2019 - |
Frage
Mit Sencha Touch 2 versuche ich, eine verschachtelte Liste mit JSON Proxy zu machen. Der JSON sieht aus wie
[
{
"start": "0"
},
{
"format": "json"
},
.......
{
"GetFolderListing": [
{
"folder": {
"total": 0,
"id": "Calendar",
"name": "Calendar",
"unread": 0,
}
},
{
"folder": {
"total": 0,
"id": "Contacts",
"name": "Contacts",
"unread": 0,
}
},
.......
Ich möchte GetFolderListing.Folder.name verwenden, wie das Displayfeld mein Geschäft aussieht
Ext.define('foo.store.FolderListing', {
extend: 'Ext.data.TreeStore',
require: ['foo.model.FolderListing'],
config: {
model: 'foo.model.FolderListing',
recursive: true,
proxy: {
type: 'jsonp',
url: 'http://localhost/?xx=yy&format=json',
callbackKey: "jsoncallback",
reader: {
type: 'json',
rootProperty: 'GetFolderListing',
record: 'folder'
}
}
}
});
Im Moment bekomme ich nur noch ein Fehler, das nicht übereinstimmt.
Könnte jemand einen Einblick geben, wie man dies lösen oder besser debuggen oder wie man kundenspezifische Parsen macht und Artikel an ein Geschäft zurückgibt?
Vielen Dank
========= Update - Damit der RootProperty im Leser arbeiten konnte
{
"GetFolderListing": [
{
"folder": {
"total": 0,
"id": "Contacts",
"name": "Contacts",
"unread": 0,
"leaf": "true"
}
},
{
"folder": {
"total": 0,
"id": "Conversation Action Settings",
"name": "Conversation Action Settings",
"unread": 0,
"leaf": "true"
}
},
.......
Lösung
Dein JSON sieht aus wie ein Array. Die Fehlermeldung bedeutet, dass der Code versucht, auf eine Eigenschaft einer undefinierten Variablen oder Eigenschaft zuzugreifen.
Meine erste Vermutung wäre, dass der Leser nicht ordnungsgemäß für das Array -Typ JSON -Format konfiguriert ist.