- 浏览: 227467 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
wsj0051:
很好,一致纠结图片路径问题
Spring 发送普通邮件、夹带附件的邮件、嵌入网页或图片的邮件 使用方法 -
ejinxian:
值得学习,
ExtJS+FusionCharts(转) -
niewj:
不知道都是哪里来的。
111
转:
1、DTO:Data Transfer Object,数据传送对象 2、对于日期格式的问题,也已经处理 3、json-lib-2.2.2-jdk13.jar (2.1在日期数组 json->java有问题) 工具类JsonUtil代码如下: Java代码 public class JsonUtil { /**页面传至后台时,json数据在request的参数名称*/ public final static String JSON_ATTRIBUTE = "json"; public final static String JSON_ATTRIBUTE1 = "json1"; public final static String JSON_ATTRIBUTE2 = "json2"; public final static String JSON_ATTRIBUTE3 = "json3"; public final static String JSON_ATTRIBUTE4 = "json4"; /** * 从一个JSON 对象字符格式中得到一个java对象,形如: * {"id" : idValue, "name" : nameValue, "aBean" : {"aBeanId" : aBeanIdValue, ...}} * @param object * @param clazz * @return */ public static Object getDTO(String jsonString, Class clazz){ JSONObject jsonObject = null; try{ setDataFormat2JAVA(); jsonObject = JSONObject.fromObject(jsonString); }catch(Exception e){ e.printStackTrace(); } return JSONObject.toBean(jsonObject, clazz); } /** * 从一个JSON 对象字符格式中得到一个java对象,其中beansList是一类的集合,形如: * {"id" : idValue, "name" : nameValue, "aBean" : {"aBeanId" : aBeanIdValue, ...}, * beansList:[{}, {}, ...]} * @param jsonString * @param clazz * @param map 集合属性的类型 (key : 集合属性名, value : 集合属性类型class) eg: ("beansList" : Bean.class) * @return */ public static Object getDTO(String jsonString, Class clazz, Map map){ JSONObject jsonObject = null; try{ setDataFormat2JAVA(); jsonObject = JSONObject.fromObject(jsonString); }catch(Exception e){ e.printStackTrace(); } return JSONObject.toBean(jsonObject, clazz, map); } /** * 从一个JSON数组得到一个java对象数组,形如: * [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...] * @param object * @param clazz * @return */ public static Object[] getDTOArray(String jsonString, Class clazz){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); Object[] obj = new Object[array.size()]; for(int i = 0; i < array.size(); i++){ JSONObject jsonObject = array.getJSONObject(i); obj[i] = JSONObject.toBean(jsonObject, clazz); } return obj; } /** * 从一个JSON数组得到一个java对象数组,形如: * [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...] * @param object * @param clazz * @param map * @return */ public static Object[] getDTOArray(String jsonString, Class clazz, Map map){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); Object[] obj = new Object[array.size()]; for(int i = 0; i < array.size(); i++){ JSONObject jsonObject = array.getJSONObject(i); obj[i] = JSONObject.toBean(jsonObject, clazz, map); } return obj; } /** * 从一个JSON数组得到一个java对象集合 * @param object * @param clazz * @return */ public static List getDTOList(String jsonString, Class clazz){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); List list = new ArrayList(); for(Iterator iter = array.iterator(); iter.hasNext();){ JSONObject jsonObject = (JSONObject)iter.next(); list.add(JSONObject.toBean(jsonObject, clazz)); } return list; } /** * 从一个JSON数组得到一个java对象集合,其中对象中包含有集合属性 * @param object * @param clazz * @param map 集合属性的类型 * @return */ public static List getDTOList(String jsonString, Class clazz, Map map){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); List list = new ArrayList(); for(Iterator iter = array.iterator(); iter.hasNext();){ JSONObject jsonObject = (JSONObject)iter.next(); list.add(JSONObject.toBean(jsonObject, clazz, map)); } return list; } /** * 从json HASH表达式中获取一个map,该map支持嵌套功能 * 形如:{"id" : "johncon", "name" : "小强"} * 注意commons-collections版本,必须包含org.apache.commons.collections.map.MultiKeyMap * @param object * @return */ public static Map getMapFromJson(String jsonString) { setDataFormat2JAVA(); JSONObject jsonObject = JSONObject.fromObject(jsonString); Map map = new HashMap(); for(Iterator iter = jsonObject.keys(); iter.hasNext();){ String key = (String)iter.next(); map.put(key, jsonObject.get(key)); } return map; } /** * 从json数组中得到相应java数组 * json形如:["123", "456"] * @param jsonString * @return */ public static Object[] getObjectArrayFromJson(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); return jsonArray.toArray(); } /** * 把数据对象转换成json字符串 * DTO对象形如:{"id" : idValue, "name" : nameValue, ...} * 数组对象形如:[{}, {}, {}, ...] * map对象形如:{key1 : {"id" : idValue, "name" : nameValue, ...}, key2 : {}, ...} * @param object * @return */ public static String getJSONString(Object object) throws Exception{ String jsonString = null; //日期值处理器 JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(java.util.Date.class, new JsonDateValueProcessor()); if(object != null){ if(object instanceof Collection || object instanceof Object[]){ jsonString = JSONArray.fromObject(object, jsonConfig).toString(); }else{ jsonString = JSONObject.fromObject(object, jsonConfig).toString(); } } return jsonString == null ? "{}" : jsonString; } private static void setDataFormat2JAVA(){ //设定日期转换格式 JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss"})); } public static void main(String[] arg) throws Exception{ String s = "{status : 'success'}"; System.out.println(" object : " + JsonUtil.getJSONString(s)); } } public class JsonUtil { /**页面传至后台时,json数据在request的参数名称*/ public final static String JSON_ATTRIBUTE = "json"; public final static String JSON_ATTRIBUTE1 = "json1"; public final static String JSON_ATTRIBUTE2 = "json2"; public final static String JSON_ATTRIBUTE3 = "json3"; public final static String JSON_ATTRIBUTE4 = "json4"; /** * 从一个JSON 对象字符格式中得到一个java对象,形如: * {"id" : idValue, "name" : nameValue, "aBean" : {"aBeanId" : aBeanIdValue, ...}} * @param object * @param clazz * @return */ public static Object getDTO(String jsonString, Class clazz){ JSONObject jsonObject = null; try{ setDataFormat2JAVA(); jsonObject = JSONObject.fromObject(jsonString); }catch(Exception e){ e.printStackTrace(); } return JSONObject.toBean(jsonObject, clazz); } /** * 从一个JSON 对象字符格式中得到一个java对象,其中beansList是一类的集合,形如: * {"id" : idValue, "name" : nameValue, "aBean" : {"aBeanId" : aBeanIdValue, ...}, * beansList:[{}, {}, ...]} * @param jsonString * @param clazz * @param map 集合属性的类型 (key : 集合属性名, value : 集合属性类型class) eg: ("beansList" : Bean.class) * @return */ public static Object getDTO(String jsonString, Class clazz, Map map){ JSONObject jsonObject = null; try{ setDataFormat2JAVA(); jsonObject = JSONObject.fromObject(jsonString); }catch(Exception e){ e.printStackTrace(); } return JSONObject.toBean(jsonObject, clazz, map); } /** * 从一个JSON数组得到一个java对象数组,形如: * [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...] * @param object * @param clazz * @return */ public static Object[] getDTOArray(String jsonString, Class clazz){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); Object[] obj = new Object[array.size()]; for(int i = 0; i < array.size(); i++){ JSONObject jsonObject = array.getJSONObject(i); obj[i] = JSONObject.toBean(jsonObject, clazz); } return obj; } /** * 从一个JSON数组得到一个java对象数组,形如: * [{"id" : idValue, "name" : nameValue}, {"id" : idValue, "name" : nameValue}, ...] * @param object * @param clazz * @param map * @return */ public static Object[] getDTOArray(String jsonString, Class clazz, Map map){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); Object[] obj = new Object[array.size()]; for(int i = 0; i < array.size(); i++){ JSONObject jsonObject = array.getJSONObject(i); obj[i] = JSONObject.toBean(jsonObject, clazz, map); } return obj; } /** * 从一个JSON数组得到一个java对象集合 * @param object * @param clazz * @return */ public static List getDTOList(String jsonString, Class clazz){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); List list = new ArrayList(); for(Iterator iter = array.iterator(); iter.hasNext();){ JSONObject jsonObject = (JSONObject)iter.next(); list.add(JSONObject.toBean(jsonObject, clazz)); } return list; } /** * 从一个JSON数组得到一个java对象集合,其中对象中包含有集合属性 * @param object * @param clazz * @param map 集合属性的类型 * @return */ public static List getDTOList(String jsonString, Class clazz, Map map){ setDataFormat2JAVA(); JSONArray array = JSONArray.fromObject(jsonString); List list = new ArrayList(); for(Iterator iter = array.iterator(); iter.hasNext();){ JSONObject jsonObject = (JSONObject)iter.next(); list.add(JSONObject.toBean(jsonObject, clazz, map)); } return list; } /** * 从json HASH表达式中获取一个map,该map支持嵌套功能 * 形如:{"id" : "johncon", "name" : "小强"} * 注意commons-collections版本,必须包含org.apache.commons.collections.map.MultiKeyMap * @param object * @return */ public static Map getMapFromJson(String jsonString) { setDataFormat2JAVA(); JSONObject jsonObject = JSONObject.fromObject(jsonString); Map map = new HashMap(); for(Iterator iter = jsonObject.keys(); iter.hasNext();){ String key = (String)iter.next(); map.put(key, jsonObject.get(key)); } return map; } /** * 从json数组中得到相应java数组 * json形如:["123", "456"] * @param jsonString * @return */ public static Object[] getObjectArrayFromJson(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); return jsonArray.toArray(); } /** * 把数据对象转换成json字符串 * DTO对象形如:{"id" : idValue, "name" : nameValue, ...} * 数组对象形如:[{}, {}, {}, ...] * map对象形如:{key1 : {"id" : idValue, "name" : nameValue, ...}, key2 : {}, ...} * @param object * @return */ public static String getJSONString(Object object) throws Exception{ String jsonString = null; //日期值处理器 JsonConfig jsonConfig = new JsonConfig(); jsonConfig.registerJsonValueProcessor(java.util.Date.class, new JsonDateValueProcessor()); if(object != null){ if(object instanceof Collection || object instanceof Object[]){ jsonString = JSONArray.fromObject(object, jsonConfig).toString(); }else{ jsonString = JSONObject.fromObject(object, jsonConfig).toString(); } } return jsonString == null ? "{}" : jsonString; } private static void setDataFormat2JAVA(){ //设定日期转换格式 JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss"})); } public static void main(String[] arg) throws Exception{ String s = "{status : 'success'}"; System.out.println(" object : " + JsonUtil.getJSONString(s)); } } 对于java对象转换成json数据格式时,要对日期格式化常用格式,类:JsonDateValueProcessor Java代码 import java.text.SimpleDateFormat; import java.util.Date; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValueProcessor; /* * @author johncon * 创建日期 2008-9-10 * json日期值处理器 */ public class JsonDateValueProcessor implements JsonValueProcessor { private String format = "yyyy-MM-dd HH:mm:ss"; public JsonDateValueProcessor() { } public JsonDateValueProcessor(String format) { this.format = format; } public Object processArrayValue(Object value, JsonConfig jsonConfig) { return process(value, jsonConfig); } public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { return process(value, jsonConfig); } private Object process( Object value, JsonConfig jsonConfig ) { if (value instanceof Date) { String str = new SimpleDateFormat(format).format((Date) value); return str; } return value == null ? null : value.toString(); } public String getFormat() { return format; } public void setFormat(String format) { this.format = format; } } import java.text.SimpleDateFormat; import java.util.Date; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValueProcessor; /* * @author johncon * 创建日期 2008-9-10 * json日期值处理器 */ public class JsonDateValueProcessor implements JsonValueProcessor { private String format = "yyyy-MM-dd HH:mm:ss"; public JsonDateValueProcessor() { } public JsonDateValueProcessor(String format) { this.format = format; } public Object processArrayValue(Object value, JsonConfig jsonConfig) { return process(value, jsonConfig); } public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { return process(value, jsonConfig); } private Object process( Object value, JsonConfig jsonConfig ) { if (value instanceof Date) { String str = new SimpleDateFormat(format).format((Date) value); return str; } return value == null ? null : value.toString(); } public String getFormat() {
发表评论
-
Axis2+wsdl2java.bat生成JAVA客户端调用
2014-05-28 14:00 1067Axis2和Axis相比,增加了异步调用的方式,而且代 ... -
JSONException:java.lang.reflect.InvocationTargetException异常处理
2012-11-19 14:38 1493由于我使用Spring对项目进行重构,由Spring容器来管理 ... -
Spring C3P0 配置
2012-11-06 10:35 940<?xml version="1.0&qu ... -
request获得所有参数
2012-08-13 15:38 51581获取request里的所有参数及参数名(参数名自动获取) ... -
删除某个文件夹下的一周前的文件
2012-06-04 14:25 2618Java操作删除某个文件夹下的一周前的文件 这里我使用的是定时 ... -
Struts2 Iterator 使用
2012-05-28 09:39 1146在Struts2中,遍历集合的方式通常用iterator。 下 ... -
使用HttpUrlConnection 事列
2012-05-03 10:19 1049使用HttpUrlConnection下载Web网站上的图片并 ... -
Hibernate 保存Clob 和Blob
2012-04-26 15:25 6715注意:目前只能操作Clob,因为不想用Session直接操作! ... -
使用Spring Quartz 定时任务
2012-04-26 14:42 1175使用Spring Quartz 定时任务时需要以下几点: 1、 ... -
Java读取配置文件
2012-03-14 14:32 853//一.读取xml配置文件 //1.新建一个bean对象 ... -
JSON数据查看器
2011-11-16 09:49 938http://jsonviewer.stack.hu/ -
JSP隐藏对象
2011-11-09 16:52 862一、page 对象 page对象代表JSP本身,更准 ... -
Unable to compile class for JSP
2011-09-20 15:11 1481type Exception report messag ... -
struts2标签 我勒个去了 转
2010-12-14 10:24 1130要使用Struts2的标签,只 ... -
Java对Excel的处理
2009-04-06 18:15 1102Struts2对Excel的操作 1. ...
相关推荐
这个“JSON转Java类”的工具正是为了解决这个问题而设计的。它能将JSON字符串自动转化为符合Java POJO(Plain Old Java Object)规范的类,而且特别的是,它会将JSON中的下划线命名方式自动转换为Java中的驼峰式命名...
总结来说,"json转java包"可能是一个集成了JSON解析、MyBatis代码生成和MySQL连接的工具或库,它的目的是简化Java开发者处理JSON数据以及与数据库交互的过程,提高开发效率。在实际使用时,开发者需要结合提供的jar...
标题“JSON转JAVA & C# 转换工具.rar”指的是一个包含两个不同语言环境下的JSON转换工具的压缩包,目的是帮助开发者快速地将JSON格式的数据转换为对应的Java或C#实体类。 描述中提到的“绝对好用的工具”,暗示了这...
在Java中,我们经常需要将JSON字符串与Java对象进行相互转换,以便于数据的传输和处理。本篇文章将详细探讨这个过程,以及如何使用常见的Java JSON库,如Gson和Jackson,进行JSON与Java对象的转换。 首先,让我们...
每次做android的时候都会有很多json数据,而且里面的属性还要一个一个写在类里面,很麻烦,然后做了这个json转java源代码的工具。 由于是java swing 写的,必须要java环境才能运行哦。 没有要资源分,免费下载。 ...
在Java开发中,我们经常需要将JSON字符串转换为Java实体类,以便于操作和处理这些数据。 本资源提供了一种方便快捷的方法,通过IDEA(IntelliJ IDEA)工具,可以直接将JSON格式的数据转换为对应的Java实体类。IDEA...
是一款强大的json转换工具,用了都说好
`getDTO`方法接收一个JSON字符串和一个Java类的Class对象作为参数,其目的是将JSON字符串解析成对应的Java对象。首先,通过`JSONObject.fromObject(jsonString)`将JSON字符串转换为`JSONObject`,然后使用`...
Java作为一种常用的后端开发语言,需要处理这些JSON数据,将其转化为Java对象以便于操作。本主题主要关注如何使用`net.sf.json.JSONObject`这个库将多层集合嵌套的JSON数据转换为Java对象。 `...
需要提前安装java sdk。 如果应对restful的请求和回应,输入和输出类可以放在同一个包里。否则json文件路径,class名,package名需要一一对应,避免出现同一个包里有相同的类。 具体使用方法参考 ...
- **Java转JSON** 1. **将Java List转换为JSON:** - 直接使用`JSONArray.fromObject()`方法即可。 ```java List<String> list = new ArrayList(); list.add("first"); list.add("second"); JSONArray ...
在"json和java互转测试项目"中,我们重点关注的是如何使用`json-lib`库进行JSON与Java对象的转换。`json-lib`库提供了一套完整的API,可以方便地将Java的Map、ArrayList、自定义对象等转换为JSON格式,同时也能将...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端交互,而Java作为后端开发的主要语言,常常需要将JSON格式的数据与Java类对象进行相互转换,以便于数据的处理和传输。Jackson库是...
它可以方便地将一种类型的数据转换成另一种类型,比如将字符串转成整数,日期转成字符串等,这对于JSON数据处理的灵活性至关重要。 `JsonUtil.java`看起来是一个自定义的工具类,很可能包含了对`json-lib`和`...
例如,创建一个`JsonUtils`类,包含一个静态方法用于JSON转Java Bean: ```java public class JsonUtils { public static <T> T jsonToBean(String jsonString, Class<T> clazz) { Gson gson = new Gson(); ...
在Java开发中,数据交换和存储常常涉及到JSON(JavaScript Object Notation)格式,因为它轻量级、易读写且被广泛支持。`net.sf.json.JSONObject`是开源库Apache Commons的一个组件,提供了Java对象与JSON对象之间的...
JSON转换为JAVA对象及日期格式转换处理 -
1. **Java对象转JSON**:如果你有一个Java对象,比如一个用户类`User`,你可以使用JSON库将其转换为JSON字符串。这通常通过调用对象的`toString()`方法或者使用JSON库提供的特定方法如`toJson()`完成。 2. **JSON转...
在Java编程中,将二维数组转换为JSON对象是一项常见的任务,特别是在处理表格数据或结构化信息时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它...