`

hibernate List 转JSON发生错的解决方法

阅读更多

很多时候数据表都有外键表的,当用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所需要的包,测试过成功,请放心使用

分享到:
评论
4 楼 jenlp520 2010-06-01  
yaoba 写道
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(new String[] { "hibernateLazyInitializer","handler","tProvince"});
JSONArray json=JSONArray.fromObject(list1,jsonConfig);   

这样就可以了,不用那么麻烦


正解
3 楼 yaoba 2010-06-01  
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(new String[] { "hibernateLazyInitializer","handler","tProvince"});
JSONArray json=JSONArray.fromObject(list1,jsonConfig);   

这样就可以了,不用那么麻烦
2 楼 walle1027 2010-04-13  
其实可以自己写个json转换器,避免这些麻烦。
1 楼 zjha4148 2010-04-13  
楼主正解,我的问题解决了!!!

相关推荐

    List对象转JSON对象jar包

    总的来说,这个"List对象转JSON对象jar包"提供了一套完整的解决方案,让Java开发者能够轻松地处理List到JSON的转换任务,提高了开发效率并降低了出错的可能性。在实际应用中,结合使用这些库可以构建健壮且灵活的...

    JSON--List集合转换成JSON对象详解

    以上知识点,不仅包括了将List集合转换为JSON对象的基本方法,还涉及到了在实际开发中可能遇到的问题及其解决方法,包括对特定框架和库的使用,对敏感数据的过滤等。掌握了这些知识点,对于进行Web开发和数据交换的...

    Struts2+hibernate3+JQuery+ajax+json三级联动

    Struts2、Hibernate3、JQuery、Ajax以及Json是Web开发中的重要技术栈,它们各自在Web应用程序中扮演着不同的角色。在这个“三级联动”项目中,这些技术被巧妙地结合在一起,实现了数据的动态交互和展示。 Struts2是...

    ssh将list自定义转化为json

    在SSH(Spring、Struts2、Hibernate)框架中,我们经常需要处理各种数据结构,比如集合List,并将这些数据转化为JSON格式以便于前端展示或进行API交互。JSON(JavaScript Object Notation)是一种轻量级的数据交换...

    ssh中将含有级联对象的list转化为json

    在SSH(Spring、Struts2、Hibernate)框架中,开发Web应用时经常需要与前端进行数据交互。EasyUI是一款基于jQuery的UI库,用于构建现代、互动的用户界面。在处理数据展示时,我们可能需要将后端Java对象转换为JSON...

    使用hibernate封装方法

    标题“使用Hibernate封装方法”暗示我们将讨论如何在项目中通过封装Hibernate操作,以提高代码的复用性和可读性。通常,我们会在DAO(数据访问对象)层进行这些封装,将数据库的CRUD(创建、读取、更新、删除)操作...

    将list转换为json失败的原因

    在这种情况下,如果不恰当处理这些关系映射字段,在序列化List为JSON格式时就可能会发生错误。 Hibernate提供了注解@JsonIgnore,该注解属于Jackson库,用于在对象序列化为JSON时忽略某些字段。特别是当一个实体类...

    sturts框架下返回json数据 list map 对象

    4. **返回JSON数据**:在Action的方法执行完毕后,由于配置了`json`结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给客户端。如果需要自定义JSON输出,可以通过`@ResultType`注解指定特定的JSON结果...

    json转换工具

    6. **XML与JSON互转**:`json-lib`还提供了XML和JSON之间的转换功能,这对于需要在XML和JSON之间切换的场景非常有用。 7. **配置与优化**:`json-lib`允许用户自定义序列化和反序列化的策略,例如忽略某些字段,...

    hibernate存取json数据的代码分析

    在这个例子中,`nullSafeGet`方法将从结果集中读取的JSON字符串转换为`JsonList`对象,而`nullSafeSet`则负责在保存时将`JsonList`对象转换为JSON字符串,设置到预编译的SQL语句中。 总结来说,通过自定义Hibernate...

    json-lib json工具包

    1. **JSON对象的解析与生成**:json-lib提供了将Java对象转换为JSON表示以及将JSON字符串反序列化为Java对象的方法。这对于在服务器端和客户端之间传递数据非常有用,特别是在RESTful Web服务中。 2. **支持多种...

    json.libjar包

    4. 转换回Java对象:使用`JSONObject.toBean()`或`JSONArray.toList()`方法将JSON转换回Java对象。 5. 输出JSON字符串:调用`toString()`方法将JSON对象转换为字符串,方便打印或传输。 在实际应用中,`json-lib`常...

    json帮助类

    `json-lib`可以将Java对象(如MAP、BEAN、LIST等)转化为JSON字符串,反之亦可,使得JSON数据能方便地在Java应用中使用。`json-lib`还支持多种数据结构,如Array、HashMap、ArrayList、LinkedList等,并且可以与...

    jackjson类型转换各种方法

    Jackson与Spring、Hibernate等Java框架有很好的集成,可以在这些框架中无缝地处理JSON。 总的来说,Jackson是一个功能丰富的JSON处理库,它提供了多种方式来实现JSON与其他数据类型的转换,同时也考虑了性能、安全...

    ssh json使用jar全

    在IT行业中,SSH(Spring、Struts、Hibernate)是一个经典的Java Web开发框架组合,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。在本案例中,我们主要讨论如何在SSH框架下使用JSON进行数据...

    java JSON依赖相关jar

    - **对象转JSON字符串:** 使用`JsonBeanUtil.toJsonString()`方法,将Java对象转换为JSON字符串。 ```java import net.sf.json.JSONObject; import net.sf.json.util.JSONSerializer; public class Main { ...

    json-lib-2.4-jdk15

    - JSON转对象:反过来,可以使用 `JSONObject.toBean(jsonObject, Class)` 或 `JSONArray.toList(jsonArray, Class)` 将JSON对象转换回指定类型的Java对象。 3. **JSON操作** json-lib 提供了丰富的API来操作JSON...

    json-lib所需全部jar包

    json-lib是Java平台上的一个开源项目,它提供了多种Java集合和类型到JSON的转换,包括Array、List、Map、Bean等。这个库的一个显著特点是它支持多种流行的技术框架,如Hibernate、EJB、Spring等。在给定的“json-lib...

    json-lib-2.3-jdk15.jar和它的源码包

    2. **与Hibernate集成**:json-lib可以方便地将Hibernate的实体对象转换为JSON,这对于开发基于RESTful API的Web应用非常有用。 3. **自定义转换策略**:可以通过实现`net.sf.json.JSONObject$BeanProcessor`接口...

    struts2 json传输对象文档+jar包

    3. 创建Action方法:创建一个返回JSON对象的方法,例如`public Map, Object> execute() { ... }`或`public MyCustomObject execute() { ... }`。 4. 设置返回值:在方法中填充Map或对象的属性,Struts2会自动将这些...

Global site tag (gtag.js) - Google Analytics