求助Hibernate一对多如何将多的一方数据取出来,转换成json数据

2024-12-03 15:25:34
推荐回答(1个)
回答1:

$.post('url',{'a':'a','b':'b'},function(obj){},'json')第一个参数为请求的地址,第二个为参数,第三个为callback方法,第四个为返回值obj的类型[这里为json数据类型]。
在jquery中没法使用后台传过来的方法,即使有类似的反射机制用起来也不方便,建议直接传list,后台先将list转换为json数据类型,前台接收json类型数据在callback方法里面即可如下使用
function(obj){
for(i=0;i obj[i].Id;
obj[i].Name;
obj[i].Role;

}
}
希望帮到你~~

追问:

public String ajaxJson(String jsonString) {
return ajax(jsonString, "text/html");
}
List list = userinfoService.getAll();//取得所有的用户集合
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
return ajaxJson(jsonArray.toString());
如果这样输出就报一些乱七八糟的错误了
我现在能显示Userinfo但是无法显示对应的多个Role的信息

回答:

看你上面写的Userinfo的属性和Role的属性,我没搞清楚Userinfo和Role之间的关系……是一个User对应多个Role吗?怎么Role里面的多个成员变量又和Userinfo里面的一样?
谈谈我的理解吧
先在你Userinfo里面添加成员变量String role

然后在你的getAll()方法里面把role处理成"r1,r2,r3,...."字符串
数据返回至前台时
用js的split函数将role字符串分割成{"r1","r2","r3"}字符串数组,然后显示

追问:

在上面我都是举例里面两个实体类的属性是否一样无所谓,我假设Userinfo和Role是一对多的关系那Userinfo里面自然有一个Set了,同样Role里面就有一个Userinfo。我想实现的是取出所有Userinfo并且取出他每个Userinfo对应的下级Role(多个)一起显示出来,之前可能思路没有整理好现在结果基本上出来了,谢谢兄弟的回答和帮助。
thanks