gpt4 book ai didi

java - 我们如何将 json 字符串加载到 extjs4 arraystore 中?

转载 作者:太空宇宙 更新时间:2023-11-04 13:08:14 25 4
gpt4 key购买 nike

这是我的模型:-

Ext.define('attributeModel', {
extend : 'Ext.data.Model',
fields : ['attributeName']
idProperty: 'attributeName'
});
Ext.define('entityModel', {
extend : 'Ext.data.Model',
fields : ['entityName']
idProperty: 'entityName',
hasMany: {model: 'attributeModel', name: 'attributes'}
});

这是我的商店:-

Ext.define('entityStore', {
extend : 'Ext.data.ArrayStore',
model : 'entityModel',
storeId:'entityStoreId',
proxy: {
type: 'memory',
reader: {
type: 'json'
}
}

});

这些是我的 Java Bean 类:-

EntityVO.java

import java.util.ArrayList;

public class EntityVO {

private String entityName;
private ArrayList<AttributeVO> attrList;

public ArrayList<AttributeVO> getAttrList() {
return attrList;
}
public void setAttrList(ArrayList<AttributeVO> attrList) {
this.attrList = attrList;
}
public String getEntityName() {
return entityName;
}
public void setEntityName(String entityName) {
this.entityName = entityName;
}
}

AttributeVO.java

 public class AttributeVO{  

private String attributeName;
public String getAttributeName() {
return attributeName;
}
public void setAttributeName(String attributeName) {
this.attributeName = attributeName;
}
}

我正在 java 中填充 EntityVO 值,并使用 ObjectMapper 创建一个 json 字符串,并将其作为 响应 发送到 Extjs

当我在 extjs 解码 json 字符串并将其设置为 entityStore 时,它不会加载任何数据,也不会抛出任何错误。有什么方法可以将 beans 中存在的数据加载到 extjs 存储中吗?

var store = Ext.create('entityStore');
store.loadData(responseJson); //not working

json 响应:

{
"entityList": [{
"entityName": "entity1",
"attrList": [{
"attributeName": "attr1"
}, {
"attributeName": "attr2"
}]
}, {
"entityName": "entity2",
"attrList": [{
"attributeName": "attr1"
}]
}]

}

最佳答案

您可能会从 ajax 请求的回调方法中获取 responseJson。如果情况是这样,就尝试那样;

var resp = Ext.JSON.decode(responseJson.responseText);
store.loadData(resp);

您似乎忘记定义商店的根属性。您可以像这样在商店定义中指定您的根属性;

  reader: {
type: 'json',
root: 'entityList'
}

或者你可以这样传递值;

store.loadData(resp.entityList);

关于java - 我们如何将 json 字符串加载到 extjs4 arraystore 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34221391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com