实体数据集合如何封装成json数据?
Java code
public JSONArray getState() {
SampleAjaxDAOImpl dao = new SampleAjaxDAOImpl();//DAO
BMBmsBranch[] bos = dao.queryByBranchLevel("2");//获取机构数据集合
List<BMBmsBranch> list = new ArrayList<BMBmsBranch>();
for (int i = 0; i < bos.length; i++) {
list.add(bos[i]); //把数据迭代放入List
}
JSONArray jsonArray = new JSONArray(list);
return jsonArray;
}
如上面java代码所示,我写了个方法获取实体数据的集合,再把数据集合封装成json,但出来的数据格式没有转换json的数据格式,出来的数据格式具体如下:
["<BMBmsBranch __type=\"sdo:cn.ccb.supproject.spl_ajax.data.model.BMBmsBranch\" __id=\"0\">
<id __type=\"java:java.lang.Long\">45<\/id>
<parentBranchId __type=\"java:java.lang.Integer\">1<\/parentBranchId>
<code __type=\"java:java.lang.String\">715<\/code>
<branchlevel __type=\"java:java.lang.Integer\">2<\/branchlevel>
<name __type=\"java:java.lang.String\">盐田店<\/name>
<registerDate __type=\"java:java.sql.Date\">2012-03-01<\/registerDate>
<registerOrg __type=\"java:java.lang.String\">200<\/registerOrg>
<registerPerson __type=\"java:java.lang.String\">666666666666666666<\/registerPerson>
<shortName __type=\"java:java.lang.String\">盐田店<\/shortName>
<status __type=\"java:java.lang.Integer\">1<\/status>
<indNo __isNullOrEmpty=\"null\"\/>
<\/BMBmsBranch>"
,
"<BMBmsBranch __type=\"sdo:cn.ccb.supproject.spl_ajax.data.model.BMBmsBranch\" __id=\"0\">
<id __type=\"java:java.lang.Long\">46<\/id>
<parentBranchId __type=\"java:java.lang.Integer\">1<\/parentBranchId>
<code __type=\"java:java.lang.String\">712<\/code>
<branchlevel __type=\"java:java.lang.Integer\">2<\/branchlevel>
<name __type=\"java:java.lang.String\">罗湖店<\/name>
<registerDate __type=\"java:java.sql.Date\">2012-03-01<\/registerDate>
<registerOrg __type=\"java:java.lang.String\">442000200<\/registerOrg>
<registerPerson __type=\"java:java.lang.String\">666666666666666666<\/registerPerson>
<shortName __type=\"java:java.lang.String\">罗湖店<\/shortName>
<status __type=\"java:java.lang.Integer\">1<\/status>
<indNo __isNullOrEmpty=\"null\"\/>
<\/BMBmsBranch>"]
想问一下,是不是我方法里面用错了什么,正确的把实体数据集合封装成json的代码应该怎么写?
------解决方案--------------------
JsonArray.format(Object).toString()这个是将你的对象转换为JSON对象,但是object对象不能存在嵌套,如果存在的话,可能会报错。可以试试