/**
* @author wjc 200-12-7 1:40:31
*
* 类说明:
*/
package com.tools;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.PropertyFilter;
public class JsonHelper {
private static String[] configFilter = new String[]{"comments","relDocTrees"};
public static JsonConfig getFilter(final String[] s){
JsonConfig config = new JsonConfig();
config.setJsonPropertyFilter(new PropertyFilter(){
public boolean apply(Object source, String name, Object value) {
if(juge(s,name)) {
return true;
} else {
return false;
}
}
public boolean juge(String[] s,String s2){
boolean b = false;
for(String sl : s){
if(s2.equals(sl)){
b=true;
}
}
return b;
}
});
return config;
}
// 转换的时候调用过滤器
/**
* @param entityList
* @param cfg 自定义过滤条件
* @return 对象数组
*/
public static Object getJsonObject(List entityList,String[] cfgFilter){
JsonConfig config=new JsonConfig();
config.setExcludes(cfgFilter);
JSONArray jSONArray =JSONArray.fromObject(entityList,config);
return jSONArray.toArray();
}
/**
* @param entityList
* @param cfg 自定义过滤条件
* @return 对象数组
*/
public static Object getJsonArrayObject(Map entityList,String[] cfgFilter){
JsonConfig config=new JsonConfig();
config.setExcludes(cfgFilter);
JSONArray jSONArray =JSONArray.fromObject(entityList,config);
return jSONArray.toArray();
}
/**
*
* @param entityList
* @return 对象数组
*/
public static Object getJsonArrayObject(List entityList){
JsonConfig config=new JsonConfig();
config.setExcludes(configFilter);
JSONArray jSONArray =JSONArray.fromObject(entityList,config);
return jSONArray.toArray();
}
public static Object getJsonArrayObject(Map entityList){
JsonConfig config=new JsonConfig();
config.setExcludes(configFilter);
// JsonConfig config = getFilter(configFilter);//String数组中存储的是要过滤的属性
JSONArray jSONArray =JSONArray.fromObject(entityList,config);
return jSONArray.toArray();
}
/**
*
* @param jsonStr json对象
* @param entityClass 实体类 xxx.class
* @return Object 对象
*/
public static Object JsonToEntity(String jsonStr,Class entityClass){
JSONObject jsonObject = JSONObject.fromObject( jsonStr );
return JSONObject.toBean(jsonObject, entityClass);
}
}
分享到:
相关推荐
1. **序列化与反序列化**:JSONlib能够将Java对象转换成JSON字符串,同时也可以将JSON字符串解析回对应的Java对象。这对于数据的存储和网络传输特别有用。 2. **支持多种Java类型**:JSONlib支持包括基本类型、数组...
JSON-lib是一个Java库,用于处理JSON(JavaScript Object Notation)和XML之间的转换。这个框架使得在Java应用程序中处理这两种数据格式变得简单。JSON是一种轻量级的数据交换格式,被广泛用于Web服务和前后端交互,...
标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...
只需确保 Java 类型与 JSON 结构匹配,`json-lib` 就能正确地进行转换。 6. **处理日期和时间**: JSON 格式不直接支持日期和时间,但 `json-lib` 提供了对日期的处理,例如: ```java jsonSerializer....
在VS2017中,你还需要在项目属性中配置链接器,指向`json_lib.lib`的位置,以确保在链接阶段能正确地找到并连接库。这通常在"配置属性" > "链接器" > "输入" > "附加依赖项"中完成。 总的来说,`json_lib.lib`是一...
2. **XML与JSON互转**:json-lib还支持XML与JSON之间的转换,这在处理不同数据格式时非常有用。 3. **自定义序列化**:通过实现JSONAware接口或使用JSONSerializer的transform方法,开发者可以定制JSON序列化过程,...
- 在使用`json-lib`时,要确保你的项目已经正确配置了相应的依赖,避免出现NoClassDefFoundError等运行时异常。 - 对于大型项目,可能需要考虑使用更现代的JSON库,如Gson或Jackson,因为它们提供了更好的性能和更多...
3. `commons-beanutils-1.8.0.jar`:Apache Commons BeanUtils库,提供了简单且灵活的方式来操作JavaBean属性,这在`json-lib`将Java对象转换为JSON时可能会用到,因为JavaBean是Java对象的一种常见表示形式。...
首先,jsonLib作为一个开源工具,它的主要目标是简化JSON与Java对象之间的转换。在Java中,我们经常需要将JSON字符串转化为Java对象,或者将Java对象转化为JSON字符串,以便在网络间传输数据或存储到数据库中。json...
4. **自定义序列化和反序列化**:开发者可以根据需求定制JSON序列化和反序列化的过程,比如忽略某些属性,或者自定义转换规则。 5. **性能优化**:虽然json-lib在处理大量数据时可能不如一些现代的JSON库(如...
JSON-lib 是一个强大的 Java 库,它主要用于将 Java 对象转换为 JSON(JavaScript Object Notation)格式,同时也能实现 JSON 到 Java 对象的反序列化。此外,JSON-lib 还支持将数据转换为 XML 格式,为数据交换提供...
这里`classifier`属性为`jdk15`是因为JsonLib有针对不同JDK版本的编译版本,选择适合项目所用的JDK版本即可。 总结起来,JsonLib是一个强大的JSON处理库,适用于Java开发者,它的功能包括JSON对象的创建、操作、...
`json-lib` 是一个Java库,提供了将Java对象转换为JSON表示,以及从JSON字符串反序列化回Java对象的功能,特别适用于那些需要在服务器端和客户端之间交换数据的应用。 `json-lib` 主要包含以下两个关键功能: 1. *...
6. **过滤和转换**:可以使用`JSONObject.transform()`和`JSONArray.transform()`方法对JSON对象进行转换,例如,过滤或修改某些属性值。 7. **错误处理**:在进行JSON操作时,需要注意可能出现的异常,如`...
`json-lib`是一个Java库,它提供了将Java对象转换为JSON格式,以及将JSON文本反序列化回Java对象的功能。这个"json-lib包最新合集20170403整理"包含了用于处理JSON的多个依赖库和相关资源。 首先,我们来看包含的...
这将把`User`对象的所有属性转换为JSON键值对。 2. **解析JSONObject** 反之,你可以从JSON字符串解析出`JSONObject`,然后获取其中的值。例如: ```java String jsonString = "{\"name\":\"John\", \"lastName...
3. **commons-beanutils-1.9.3.jar**:Apache Commons BeanUtils库简化了JavaBean属性的访问和操作,它使得处理Java对象的属性变得更加方便,这对于json-lib在转换Java对象到JSON时非常有用。 4. **json-lib-2.4-...
### JSON-lib框架详解:转换JSON、XML不再困难 #### 一、概述 JSON-lib是一个用于Java平台的强大且灵活的库,它可以实现Java对象与JSON、XML格式数据之间的互相转换。对于那些希望在Java应用程序中轻松处理JSON或...
而`json-lib`是一个Java库,它提供了将Java对象转换为JSON格式以及从JSON反序列化回Java对象的功能。这个学习笔记主要围绕`json-lib`的使用方法和关键特性进行阐述。 首先,`json-lib`支持多种Java对象到JSON的转换...
4. `commons-beanutils.jar`:Apache Commons BeanUtils库,简化了JavaBean属性的访问,使得`json-lib`可以更容易地操作JavaBean对象并将其转换为JSON。 5. `ezmorph-1.0.4.jar`:Ezmorph库,提供了一种动态类型...