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;
}
});
分享到:
相关推荐
本篇将详细讲解如何使用JSON相关的jar包以及其在SSH(Spring、Struts、Hibernate)和SSM(Spring、SpringMVC、MyBatis)框架中的应用。 首先,JSON格式基于JavaScript的一个子集,其基本数据类型包括对象(object)...
【SSH框架】 ...例如,`<c:set>`用于设置变量,`<c:out>`用于输出值,`<c:if>`和`<c:choose>`用于条件判断,`<c:forEach>`用于循环遍历集合。这些标签使JSP页面更加清晰和可维护,减少了脚本代码。
List、Set、Collection、Collections:List是有序的Collection,Set不允许重复元素,Collection是集合框架的根接口,Collections则是提供各种方法来操作集合的工具类。 Java的基本数据类型:Java中的基本数据类型有...
9. **JSON处理**:Java中处理JSON数据的库有Gson、Jackson和org.json等,它们提供了方便的API来序列化和反序列化JSON对象。 10. **测试框架**:JUnit是Java最著名的单元测试框架,而Mockito则用于创建和管理模拟...
- **Java集合框架**:Java集合框架如List、Set和Map等,提供基本的搜索功能。例如,ArrayList的`indexOf()`方法可以搜索指定元素的索引。 - **Java 8 Stream API**:Stream API引入了强大的函数式编程能力,可以...
- **集合框架**:List、Set、Map接口的实现类如ArrayList、HashSet、HashMap的特性和使用。 - **多线程**:线程的创建方式、同步机制(synchronized、wait/notify、Lock等)及并发工具类。 2. **Java Web**: - ...
3. **集合框架**:List、Set、Map接口及其实现类的使用,如ArrayList、LinkedList、HashSet、HashMap等。 4. **IO流**:文件操作、字符流与字节流、缓冲流、对象序列化等。 5. **多线程**:线程的创建、同步与通信、...
- **集合操作**:如CollectionUtils,提供对List、Set、Map等集合的扩展功能,如查找、过滤、合并等。 - **IO操作**:FileUtils用于文件的读写、复制、删除等操作,简化了Java标准库的IO操作。 - **网络请求**:...
4. **Stream API**:自Java 8引入的Stream API为处理集合提供了一种声明式、函数式编程的方式,支持链式操作,如过滤、映射、聚合等。例如,`list.stream().filter(str -> str.length() > 5).collect(Collectors.to...
在Java层面上,可以通过ORM框架如Hibernate或MyBatis-Plus来实现这一功能。 **示例**(MyBatis-Plus): ```java @TableField(fill = FieldFill.INSERT) private Date createTime; @TableField(fill = FieldFill....
这可能涉及到Java集合框架的使用,如List、Set、Map等,以及对数据库的查询优化。 3. **购物车**:用户可以添加、删除商品,调整数量。购物车的实现可能用到设计模式中的Observer模式,以实时更新购物车状态。 4. ...
例如,可以调用`anychart.options.set('watermark.enabled', false)`来关闭水印显示。确保你拥有合适的授权,以避免侵犯版权。 分页是处理大量数据时必要的功能,尤其是在报表展示中。在Java环境中,我们可以结合...
这将涉及到Java集合框架的使用,如List、Set、Map等,以及数据结构的设计。同时,可能会用到Spring MVC框架进行前后端数据传输,以及MyBatis作为持久层框架,简化SQL操作。此外,可能会涉及到权限控制和角色管理,如...
2. **Java集合框架**:List、Set、Map接口的理解与实现,如ArrayList、LinkedList、HashSet、HashMap等。 - 泛型:类型安全,通配符,泛型方法等。 - Stream API:新特性,用于数据处理和集合操作。 3. **JavaEE...
在实际开发中,我们还可能需要添加分页、排序、过滤等高级功能,或者使用Thymeleaf、React、Vue等技术构建更复杂的前端界面。同时,为了提升用户体验,可以考虑使用Axios、Fetch API等现代JavaScript库替代jQuery的...
6. JSP基本元素:指令元素(@page、@include、@taglib)、脚本元素(scriptlet、expression、declaration)和动作元素(jsp:useBean、jsp:setProperty等)。 7. JSP与Servlet的交互:JSP隐含对象、转发与重定向的...
- **集合框架**:List、Set、Map接口及其实现类的特性和使用场景。 - **多线程**:线程的创建、同步机制(synchronized,Lock)及并发工具类(ExecutorService, CyclicBarrier, Semaphore)。 2. **Java进阶**: ...
- `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` -...