很多时候数据表都有外键表的,当用hibernate查询结果集时,其关联的对象集也一起来,所以会造成转换JSON发生错误;
以下是一段查询 城市表 的,其关联的主键表是 省份名表,
以下是方法里的代码,需要 import net.sf.json.*;
List list1=new hi.TCityDAO().findAll();
List li=new ArrayList();//用于装入用来转成JSON的List
for (Iterator iterator = list1.iterator(); iterator.hasNext();) {
TCity object = (TCity) iterator.next();
object.setTProvince(null); //将省份表的对象设为空,不然会出错,出错的原因也在此
li.add(object);
}
//这个地方要注意,如果是javabean对象时要用 JSONObject json=JSONObject.fromObject(objece);
JSONArray json=JSONArray.fromObject(li);
System.out.println(json.toString()); //最后输出的JSON字符串
另:附出JSON所需要的包,测试过成功,请放心使用