0

これはサーバーからの私のjson応答です。

   {"class":"co.myapp.json.WsResponse","code":0,"message":"SUCCESS",
        "packet":
        {"class":"co.myapp.json.MyWantPacket","fullname":"Viswa","imageURI":"images/1.png","userid":1,"username":"viswa11","wantSuggestion":"learn guitar",
        "wants":[{
            "class" : "co.myapp.json.MyWant",
            "id" : 2,
            "replyCount" : 0,
            "text" : "Message 2",
            "time" : "Oct 3, 2012 - 14:59:02"
        }, {
            "class" : "co.myapp.json.MyWant",
            "id" : 1,
            "replyCount" : 2,
            "text" : "Message 1",
            "time" : "Oct 3, 2012 - 14:59:02"
        }]
    }}

jsoneの上からのフルネーム、imageuri、replayCount、およびテキストが必要です。

*これは私のモデルです

Ext.define('myApp.model.Wants', {
    extend : 'Ext.data.Model',
    config : {

        fields : [
            { name : 'id', type : 'int'},
            { name : 'replyCount', type : 'int'},
            { name : 'text',type : 'string'},
                    { name : 'wants',type : 'string'},
                    { name : 'fullname',type : 'string'},
                    { name : 'imageURI',type : 'string'}
            { name : 'time', type : 'string',dateFormat : 'D'}
        ]
    }
});

*これは私の店です

Ext.define('myApp.store.WantsStore', {
    extend : 'Ext.data.Store',
    config : {
        model : 'myApp.model.Wants',
        proxy : {
            type : 'ajax',
             url : http://127.0.0.1:8080/myapp/message/mwants?token=2143cede2ab147e6bc1cd5c7caa14792
            reader : {
                type : 'json',
                rootProperty : 'packet'
            }
        },
        sorters : [{
            property : 'time',
            direction : 'DESC'
        }]
    }
});

*これは私のDataViewList(ビュー)です

Ext.define('myApp.view.WantsList', {
    extend : 'Ext.List',
    xtype : 'wantslist',
    config : {
        itemCls : 'my-dataview-item',
        loadingText : 'Loading items...',
        emptyText : '<div class="notes-list-empty-text">No Wants found.</div>',
        itemTpl : '<div><img src="{imageURI}"/><span class="list-item-title">{fullname}</span><span id="count" class="list-item-title">{replyCount}</span><p class="list-item-title">{text} <span id="time" class="list-item-title">{time}' 
        + '</span></p>'
    }
});

モデル、ストア、ビュー**を変更して、DataViewListにフルネーム、imageuri、replayCount、およびテキストを表示できるようにするにはどうすればよいですか。

また、私は次のようなリストを表示したい

image fullname replayCount text time(これはリストの1つのアイテムです)

image fullname replayCount text time(これはリストの2つのアイテムです)

image fullname replayCount text time(これはリストの3つのアイテムです)

image fullname replayCount text time(これはリストの4つのアイテムです)

.......。

4

1 に答える 1

0

クラスを正しく構成したと思いますが、JSonのパケットプロパティは配列である必要があります。そうでない場合は、ストアにレコードを1つしか持つことができません。つまり:

{"class": "co.myapp.json.WsResponse",
  "code":0,
  "message":"SUCCESS",
  "packet": [{
      "class":"co.myapp.json.MyWantPacket",
      "fullname":"Viswa",
      "imageURI":"images/1.png",
...

パケットオブジェクトの先頭にある[を参照してください。

于 2012-10-12T19:00:50.400 に答える