Java开发数据类型转换
Posted Stephanie_1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java开发数据类型转换相关的知识,希望对你有一定的参考价值。
Java实体类转为Map
注意:这个小工具类可以将Java对象的直接值属性 映射到map,但是未能映射子对象结构的全部属性(这正是我所需要的),以及未能映射obj继承自父类的属性,继承属性需要映射到map的需要手动添加。
public class MapUtils
public static Map<String,Object> ConvertObjToMap(Object obj)
Map<String,Object> reMap = new HashMap<String,Object>();
if (obj == null)
return null;
Field[] fields = obj.getClass().getDeclaredFields();
try
for(int i=0;i<fields.length;i++)
try
Field f = obj.getClass().getDeclaredField(fields[i].getName());
f.setAccessible(true);
Object o = f.get(obj);
reMap.put(fields[i].getName(), o);
catch (NoSuchFieldException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (IllegalArgumentException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (IllegalAccessException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (SecurityException e)
// TODO Auto-generated catch block
e.printStackTrace();
return reMap;
测试调用:其中objTemp是Java 类:
//调用实例:
Map<String, Object> mapTemp = MapUtils.object2Map(objTemp);
Java Map转为JsonObject
我使用的fastjson,但是由于fastjson 直接调用 JSONObject.parseObject(javaObject)将Java对象转为json的过程中,如果javaObject嵌套子对象,此时转换结果不友好,我就先中转将对象转为了Map 再转json(有点啰嗦。)
JSONObject jsonObject = new JSONObject(mapTemp);
Json转为Java实体对象
public class MyJavaClass
//TODO
//调用实例:
String jsonStr = "";
MyJavaClass myjavaClass = JSON.parseObject(jsonStr, MyJavaClass.class);
JSONObject转为实体类
如下,我使用fastjson,将JSONObject转为Java类 MyJavaClass 的写法格式:
public class MyJavaClass
//TODO
void test()
JSONObject jsonObj;
MyJavaClass info = JSONObject.toJavaObject(jsonObj,MyJavaClass.class);
JSONObject 转为 Map:
如下是将myJsonObj的JSONObject转为Map<String,Object>
JSONObject myJsonObj = null;//TODO
Map<String, Object> itemMap = JSONObject.toJavaObject(myJsonObj, Map.class);
以上是关于Java开发数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章