`

json 过滤 hibernate Set

阅读更多
json 教程: 首先 是jar包,可以到 http://json-lib.sourceforge.net/   去下载

json-lib-2.2.3-jdk15.jar ,注意,还必须要有一下这些

jakarta commons-lang 2.4
jakarta commons-beanutils 1.7.0
jakarta commons-collections 3.2
jakarta commons-logging 1.1.1
ezmorph 1.0.6
好了,java方面准备好了 直接用 JsonObject.fromObject(Object object)就可以把普通对象转换为 json对象,然后将其 jsonObject.toString() 传到客户端就可以了,到了客户端 再用 json.js (http://www.JSON.org/json2.js)的 JSON.parse(dataString);就可以得到 js 对象了。

但是用hibernate生成 的 对象 ,如果有 Set 字段的话 ,该值又设置为 lazy="true"的话,会报错,因为JSON对对象进行解析的时候会把所有的 字段都解析,为了不让他解析 这些 Set 字段 ,可以用 

JSONObject net.sf.json.JSONObject.fromObject(Object object, JsonConfig jsonConfig) 这个方法,其中第二个参数是 过滤器,过滤掉不需要解析的字段,过滤器这样定义

JsonConfig jsonConfig = new JsonConfig();
   jsonConfig.setJsonPropertyFilter(new PropertyFilter() {
    public boolean apply(Object source, String name,
      Object value) {
     if(value!=null){
      String typeName = value.getClass().getName();
      if (typeName.equals("org.hibernate.collection.PersistentSet")
        ) {
       return true;
      }
     }
     return false;
    }
   });


分享到:
评论
1 楼 tigerhen 2010-07-30  
进入apply后,有个参数为value,不是还是调用value实例hibernate不是去加载了么?

相关推荐

    使用json的jar包

    本篇将详细讲解如何使用JSON相关的jar包以及其在SSH(Spring、Struts、Hibernate)和SSM(Spring、SpringMVC、MyBatis)框架中的应用。 首先,JSON格式基于JavaScript的一个子集,其基本数据类型包括对象(object)...

    summary.docx

    【SSH框架】 ...例如,`<c:set>`用于设置变量,`<c:out>`用于输出值,`<c:if>`和`<c:choose>`用于条件判断,`<c:forEach>`用于循环遍历集合。这些标签使JSP页面更加清晰和可维护,减少了脚本代码。

    java必备知识点大全.pdf

    List、Set、Collection、Collections:List是有序的Collection,Set不允许重复元素,Collection是集合框架的根接口,Collections则是提供各种方法来操作集合的工具类。 Java的基本数据类型:Java中的基本数据类型有...

    java lib库部分2

    9. **JSON处理**:Java中处理JSON数据的库有Gson、Jackson和org.json等,它们提供了方便的API来序列化和反序列化JSON对象。 10. **测试框架**:JUnit是Java最著名的单元测试框架,而Mockito则用于创建和管理模拟...

    搜索功能设计java实现

    - **Java集合框架**:Java集合框架如List、Set和Map等,提供基本的搜索功能。例如,ArrayList的`indexOf()`方法可以搜索指定元素的索引。 - **Java 8 Stream API**:Stream API引入了强大的函数式编程能力,可以...

    j2EE面试题分类集合

    - **集合框架**:List、Set、Map接口的实现类如ArrayList、HashSet、HashMap的特性和使用。 - **多线程**:线程的创建方式、同步机制(synchronized、wait/notify、Lock等)及并发工具类。 2. **Java Web**: - ...

    JAVA基础,框架知识,WEB知识,数据库知识面试题.

    3. **集合框架**:List、Set、Map接口及其实现类的使用,如ArrayList、LinkedList、HashSet、HashMap等。 4. **IO流**:文件操作、字符流与字节流、缓冲流、对象序列化等。 5. **多线程**:线程的创建、同步与通信、...

    JavaWeb相关的工具类、Java资源

    - **集合操作**:如CollectionUtils,提供对List、Set、Map等集合的扩展功能,如查找、过滤、合并等。 - **IO操作**:FileUtils用于文件的读写、复制、删除等操作,简化了Java标准库的IO操作。 - **网络请求**:...

    java 数据集工具

    4. **Stream API**:自Java 8引入的Stream API为处理集合提供了一种声明式、函数式编程的方式,支持链式操作,如过滤、映射、聚合等。例如,`list.stream().filter(str -> str.length() > 5).collect(Collectors.to...

    Java笔记word.docx

    在Java层面上,可以通过ORM框架如Hibernate或MyBatis-Plus来实现这一功能。 **示例**(MyBatis-Plus): ```java @TableField(fill = FieldFill.INSERT) private Date createTime; @TableField(fill = FieldFill....

    Accp5.0一期Java购物系统代码

    这可能涉及到Java集合框架的使用,如List、Set、Map等,以及对数据库的查询优化。 3. **购物车**:用户可以添加、删除商品,调整数量。购物车的实现可能用到设计模式中的Observer模式,以实时更新购物车状态。 4. ...

    AnyChart 各种报表 分页

    例如,可以调用`anychart.options.set('watermark.enabled', false)`来关闭水印显示。确保你拥有合适的授权,以避免侵犯版权。 分页是处理大量数据时必要的功能,尤其是在报表展示中。在Java环境中,我们可以结合...

    Java项目开发全程实例

    这将涉及到Java集合框架的使用,如List、Set、Map等,以及数据结构的设计。同时,可能会用到Spring MVC框架进行前后端数据传输,以及MyBatis作为持久层框架,简化SQL操作。此外,可能会涉及到权限控制和角色管理,如...

    java和javaEE面试题大全打包-24个文件

    2. **Java集合框架**:List、Set、Map接口的理解与实现,如ArrayList、LinkedList、HashSet、HashMap等。 - 泛型:类型安全,通配符,泛型方法等。 - Stream API:新特性,用于数据处理和集合操作。 3. **JavaEE...

    Springboot集成spring-data-jpa增删查改使用ajax数据交互

    在实际开发中,我们还可能需要添加分页、排序、过滤等高级功能,或者使用Thymeleaf、React、Vue等技术构建更复杂的前端界面。同时,为了提升用户体验,可以考虑使用Axios、Fetch API等现代JavaScript库替代jQuery的...

    大小企业java web方面的笔试题集锦

    6. JSP基本元素:指令元素(@page、@include、@taglib)、脚本元素(scriptlet、expression、declaration)和动作元素(jsp:useBean、jsp:setProperty等)。 7. JSP与Servlet的交互:JSP隐含对象、转发与重定向的...

    Java 软件工程师 面试题

    - **集合框架**:List、Set、Map接口及其实现类的特性和使用场景。 - **多线程**:线程的创建、同步机制(synchronized,Lock)及并发工具类(ExecutorService, CyclicBarrier, Semaphore)。 2. **Java进阶**: ...

    SSH与jfreechart整合

    - `struts2-json-x.x.x.jar` - `struts2-spring-plugin-x.x.x.jar` - `spring-context-x.x.x.jar` - `spring-beans-x.x.x.jar` - `spring-core-x.x.x.jar` - `spring-aop-x.x.x.jar` - `hibernate-core-x.x.x.jar` -...

Global site tag (gtag.js) - Google Analytics