JSON-LIB json与javabean对象的转换
来源:互联网 发布:淘宝哪里买阿普唑仑片 编辑:程序博客网 时间:2024/05/08 07:08
1. Java到json转换时可通过JsonConfig来控制。
- JSONSerializer.toJSON(javaobj, jsonConfig)=>jsonobj
- //实际方法为:
- json = JSONArray.fromObject( object, jsonConfig );
- json = JSONObject.fromObject( object, jsonConfig );
- setJsonPropertyFilter(PropertyFilter); //设置哪些字段要转
- registerJsonBeanProcessor(class, JsonBeanProcessor);
- registerJsonValueProcessor(class, JsonValueProcessor); //处理Bean对象的属性值的转换
2. json-lib是通过Morpher来jsonstr转换对象,对于不知道类型的转为 MorpherDynBean。
对于复杂的对象想通过Morpher来转就比较困难。可通过jsonConfig 。
- JSONSerializer.toJSON(str, c) => JSONObject或JSONArray
- 再根据如下转成对象
- JSONSerializer.toJava(jsonObject, jsonConfig)=>Object
- //实际方法为:
- JSONObject.toBean(jsonObject, jsonConfig) ==> Object;
- JSONArray.toArray(jsonObject, jsonConfig) ==> Object;
- JSONArray.toList(jsonObject, jsonConfig) ==> List;
- setRootClass(bean.class); // 设置要转成的类,会根据属性的类型来转
- BeanB {BeanA a; BeanA[] as} // 转时会将DynBean转为BeanA
- setClassMap() // {key, class} //key中对应的类
- setArrayMode() //设置JSONArray转成的形式有三种 MODE_OBJECT_ARRAY, MODE_LIST or MODE_SET
- morpherRegistry.registerMorpher( dynaMorpher );
如date:
- JSONUtils.getMorpherRegistry().registerMorpher(
- new DateMorpher(new String[]{ "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd"
- }));
在toBean()时用到Morpher:
- //对象:
- JSONUtils.getMorpherRegistry().registerMorpher(new BeanMorpher( pd.getPropertyType(),JSONUtils.getMorpherRegistry() ) );
- setProperty( root, key, JSONUtils.getMorpherRegistry().morph( pd.getPropertyType(), value ), jsonConfig );
- //数组:
- ObjectArrayMorpher beanMorpher = new ObjectArrayMorpher(
- new BeanMorpher( innerType, JSONUtils.getMorpherRegistry() ) );
- JSONUtils.getMorpherRegistry().registerMorpher( beanMorpher );
- array = JSONUtils.getMorpherRegistry().morph(
- Array.newInstance( innerType, 0 ).getClass(), array );
- setProperty( root, key, array, jsonConfig );
0 0
- JSON-LIB json与javabean对象的转换
- JSON Java端JavaBean/Collection与JSON对象的转换
- JavaBean与JSON的转换
- Json与JavaBean的转换
- JavaBean、JSON、XML的相互转换,JSON-lib(2.4)
- json字符串与相应的JavaBean对象的相互转换
- Json - 使用json-lib完成javabean对象转换成json字符串
- JSON教程之JSON-lib转换JSON为JavaBean
- Json-lib-----2、对象与Json间转换
- json-lib的json转换
- JSON详解以及可以把javabean转换成json串的json-lib应用
- 关于json与javaBean之间的转换
- Java对象 json之间的转换(json-lib)
- Java之使用json-lib进行对象与json字符串之间的转换
- Java之使用json-lib进行对象与json字符串之间的转换
- Java之使用json-lib进行对象与json字符串之间的转换
- Json字符串与json对象的转换
- json字符串与json对象的转换
- hdu 4819 Mosaic(二维线段树)
- 互联网金融常见的一些业务
- android 代码创建dialog
- hibernate中one-to-one两种配置方式
- Intel E3-1230V2 华硕ASUS P8B-C RAID10 2T安装红帽RHEL5.8企业版的过程实录
- JSON-LIB json与javabean对象的转换
- height、clientHeight、scrollHeight、offsetHeight区别
- Nexus入门指南
- LINUX FTP简单配置
- A.Q.S源码分析(shared模式下加锁)
- CXF 生成Web Service Client(将WSDl 转化成 Java代码)
- J2EE之Servlet
- JSP编译原理
- Mac中用Excel导入csv文件出现乱码