使用json-lib jsonObject 把json 转换成 java对象
2015-03-05 16:21
555 查看
注:
1.json是经过处理的得到的,pojo类是自己定义的
2.目前只是解析一级类对象,运行的是反射机制
3.java类的编码格式是utf-8
参考:http://www.cnblogs.com/XiaoGer/archive/2012/05/23/2514878.html
1.json是经过处理的得到的,pojo类是自己定义的
2.目前只是解析一级类对象,运行的是反射机制
3.java类的编码格式是utf-8
public static void main(String[] args){ String json = "要解析的json内容"; JSONObject jsonObject = JSONObject.fromObject(json); Pojo pojo= (Pojo) fromJsonToJava(jsonObject,Pojo.class); }
@SuppressWarnings({ "deprecation", "unused", "unchecked" }) private Object fromJsonToJava(JSONObject json,Class pojo) throws Exception{ // 首先得到pojo所定义的字段 Field [] fields = pojo.getDeclaredFields(); // 根据传入的Class动态生成pojo对象 Object obj = pojo.newInstance(); for(Field field: fields){ // 设置字段可访问(必须,否则报错) field.setAccessible(true); // 得到字段的属性名 String name = field.getName(); // 这一段的作用是如果字段在JSONObject中不存在会抛出异常,如果出异常,则跳过。 try{ json.get(name); }catch(Exception ex){ continue; } if(json.get(name) != null && !"".equals(json.getString(name))){ // 根据字段的类型将值转化为相应的类型,并设置到生成的对象中。 if(field.getType().equals(Long.class) || field.getType().equals(long.class)){ field.set(obj, Long.parseLong(json.getString(name))); }else if(field.getType().equals(String.class)){ field.set(obj, json.getString(name)); } else if(field.getType().equals(Double.class) || field.getType().equals(double.class)){ field.set(obj, Double.parseDouble(json.getString(name))); } else if(field.getType().equals(Integer.class) || field.getType().equals(int.class)){ field.set(obj, Integer.parseInt(json.getString(name))); } else if(field.getType().equals(java.util.Date.class)){ field.set(obj, Date.parse(json.getString(name))); }else{ continue; } } } return obj; }
参考:http://www.cnblogs.com/XiaoGer/archive/2012/05/23/2514878.html
相关文章推荐
- 百度天气api开发 全解析xml和json格式 使用json-lib jsonObject、 Gson 方式把json 转换成 java对象
- java使用json-lib进行Java对象和JSON之间的转换
- java对象和json数据转换实现方式1-使用json-lib实现
- Java之使用json-lib进行对象与json字符串之间的转换
- json对象、json格式字符串、java对象【使用此net.sf.json.JSONObject将java对象[比如数组集合Map、Map扩展]转换成json格式字符串】
- 使用JSON-LIB转换JAVA对象
- 使用JSON-LIB转换JAVA对象
- 使用json-lib将java对象转换成json字符串
- 使用JSON-LIB转换JAVA对象
- 使用JSON-LIB转换JAVA对象
- Java之使用json-lib进行对象与json字符串之间的转换
- 使用JSON-LIB转换JAVA对象
- 使用json-lib将java对象转换成json字符串
- 使用 jackson ObjectMapper将java对象转换为json对象
- Java之使用json-lib进行对象与json字符串之间的转换
- json和java对象的相互转换(json-lib和Gson的使用)
- 使用json-lib将JSONObject转Java对象,JSONArray转Java集合
- 使用json-lib将Java对象转SONObject,Java集合转JSONArray
- java对象和json数据转换实现方式1-使用json-lib实现
- 如何通过Java代码将JSONObject转换为对象