package com.suning.crawler.util;
import java.lang.reflect.Method;
import java.text.ParseException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.json.JSONObject;
/**
*转换器
*1:将JavaBean 转换成Map、JSONObject
*2:将JSONObject 转换成Map
*
* @author xxx
*/
public class BeanConverter
{
/**
* 将javaBean转换成Map
*
* @param javaBean javaBean
* @return Map对象
*/
public static Map<String, String> toMap(Object javaBean)
{
Map<String, String> result = new HashMap<String, String>();
Method[] methods = javaBean.getClass().getDeclaredMethods();
for (Method method : methods)
{
try
{
if (method.getName().startsWith("get"))
{
String field = method.getName();
field = field.substring(field.indexOf("get") + 3);
field = field.toLowerCase().charAt(0) + field.substring(1);
Object value = method.invoke(javaBean, (Object[])null);
result.put(field, null == value ? "" : value.toString());
}
}
catch (Exception e)
{
}
}
return result;
}
/**
* 将json对象转换成Map
*
* @param jsonObject json对象
* @return Map对象
*/
@SuppressWarnings("unchecked")
public static Map<String, String> toMap(JSONObject jsonObject)
{
Map<String, String> result = new HashMap<String, String>();
Iterator<String> iterator = jsonObject.keys();
String key = null;
String value = null;
while (iterator.hasNext())
{
key = iterator.next();
value = jsonObject.getString(key);
result.put(key, value);
}
return result;
}
/**
* 将javaBean转换成JSONObject
*
* @param bean javaBean
* @return json对象
*/
public static JSONObject toJSON(Object bean)
{
return new JSONObject(toMap(bean));
}
/**
* 将map转换成Javabean
*
* @param javabean javaBean
* @param data map数据
*/
public static Object toJavaBean(Object javabean, Map<String, String> data)
{
Method[] methods = javabean.getClass().getDeclaredMethods();
for (Method method : methods)
{
try
{
if (method.getName().startsWith("set"))
{
String field = method.getName();
field = field.substring(field.indexOf("set") + 3);
field = field.toLowerCase().charAt(0) + field.substring(1);
method.invoke(javabean, new Object[]
{
data.get(field)
});
}
}
catch (Exception e)
{
}
}
return javabean;
}
/**
* 将javaBean转换成JSONObject
*
* @param bean javaBean
* @return json对象
* @throws ParseException json解析异常
*/
public static void toJavaBean(Object javabean, String data) throws ParseException
{
JSONObject jsonObject = new JSONObject(data);
Map<String, String> datas = toMap(jsonObject);
toJavaBean(javabean, datas);
}
分享到:
相关推荐
此方法可以实现javabean,map,json的自由转换,方便大家的的操作
javaBean、列表数组转换为json字符串 javaBean、列表数组转换为json字符串,忽略空值 json 转JavaBean json字符串转换为map 深度转换json成map 把json解析成list,如果list内部的元素存在jsonString,继续解析 与...
将javabean,list,map等格式转换为json格式所用到的所有包,下载后即可使用转换
json与JavaBean、Map和list之间的转换问题
json转换为String/List/Map/Bean
主要给大家介绍了关于在java中用ObjectMapper类实现Json与bean转换的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
1.FastJson的介绍: JSON协议使用方便,越来越流行,...1.JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换 2.JSONObject:fastJson提供的json对象 3.JSONArray:fastJson提供json数组对象
通过fastjson实现了JavaBean,list<JavaBean>,MAP,list等格式与json格式之间的转换,已经附带fastjson的包,包的版本为fastjson-1.1.36.jar
资源名称:J2EE中JSON ...首先页面通过调用JQuery_AJAX方法访问后台Action,在后台Action中将获取到的JavaBean、List、Map等数据类型转换为json-lib.ja 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
在SpringMVC中使用JSON需要引入...转化json格式数据成为javabean对象 2.commons-beanutils-1.7.0.jar 3.commons-collections-3.2.jar 4.commons-lang-2.3.jar 5.commons-logging-1.0.4.jar 6.ezmorph-1.0.4.jar
随机数计算两个时间之间时间差返回Map集合UUID(不带“-”的)生成订单编号去除指定字符一个参数的非空验证多个参数非空验证将Javabean,Json,转换为Map将JavaBean转换成JSONObject(通过Map中转)将Map转换成...
Json 与 String、JavaBean、Collection、Map等类型之间的转换
FastJson是阿里巴巴的开源项目,Java语言编写的JSON处理工具,遵循JSon规范。可实现Json字符内容转换为基本JavaBean、Map、Date、Enum、泛型等。
自动参数转换:通过TypeConverter接口,http参数会被转成对象(支持基本类型,Map,List,JavaBean) 结果渲染:支持对结果进行渲染,支持html,xml,plain,json格式 Cookie管理:内置一个Cookie管理器 初步后置...
{2.14}JavaBean规范}{66}{section.2.14} {3}常用类}{67}{chapter.3} {3.1}Object类}{67}{section.3.1} {3.1.1}\ttfamily toString}{67}{subsection.3.1.1} {3.1.2}\ttfamily equals}{67}{subsection.3.1.2} {...