2013-12-05 8 views
0

это мой JSON:ExtJs магазин Root

[{ 
    "ActionBy": "om", 
    "ActionDate": "11\/26\/2013 8:50:56 AM", 
    "ActionDetails": [{ 
     "Field": "St", 
     "NewValue": "Clo", 
     "OldValue": "Ch", 
     "UpdateType": "Tie" 
    }, { 
    "Field": "AssignedTo", 
    "NewValue": "mus", 
    "OldValue": "n", 
    "UpdateType": "As" 
}]  

И это мой магазин:

historyStore = Ext.create('Ext.data.Store', { 
    fields: ['Field', 'NewValue', 'OldValue'], 
    autoLoad: true, 
    proxy: { 
     type: 'ajax', 
     url: url, 
     reader: { 
      type:'json', 
      root:'' 
     } 
    }, 
    listeners:{ 
    load:function(that,records,view){ 
    console.log(records); 
    } 
    }, 
    autoLoad: true 
}); 

Я хочу, чтобы показать поле, NewValue и OldValue в панели сетки, Но это не работает магазин, на мой взгляд, я - проблема с корнем.

Действительно ли JSON? Что мне нужно написать Root?

ответ

0

Ваш json недействителен,
вы можете использовать jsonlint.com для проверки вашего json.
добавьте '}]' к вашему json, чтобы завершить его.
дают корень значение как ActionDetails поэтому он будет принимать данные из этого узла, как

root:'ActionDetails' 
0

Ваш JSON должен быть как:

{ 
"ActionBy": "[email protected]", 
"ActionDate": "11\/26\/2013 8:50:56 AM", 
"ActionDetails": [ 
     { 
     "Field": "State", 
     "NewValue": "Closed", 
     "OldValue": "Check", 
     "UpdateType": "Ticket Update" 
     }, 
     { 
     "Field": "AssignedTo", 
     "NewValue": "[email protected]", 
     "OldValue": "[email protected]", 
     "UpdateType": "Assignment" 
     } 
    ] 
} 

Если это таким образом:

data =[{ 
    "ActionBy": "[email protected]", 
    "ActionDate": "11\/26\/2013 8:50:56 AM", 
    "ActionDetails": [ 
      { 
      "Field": "State", 
      "NewValue": "Closed", 
      "OldValue": "Check", 
      "UpdateType": "Ticket Update" 
      }, 
      { 
      "Field": "AssignedTo", 
      "NewValue": "[email protected]", 
      "OldValue": "[email protected]", 
      "UpdateType": "Assignment" 
      } 
    ] 
}] 

Ваш магазин:

historyStore = Ext.create('Ext.data.Store', { 
       fields: ['Field', 'NewValue', 'OldValue'], 
       autoLoad: true, 
       proxy: { 
        type: 'ajax', 
        url: url, 
        reader: { 
         type:'json', 
         root:'ActionDetails' 
        } 
       } 
      }); 
Смежные вопросы