- 浏览: 222795 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 1017Axis2和Axis相比,增加了异步调用的方式,而且代 ... -
JSONException:java.lang.reflect.InvocationTargetException异常处理
2012-11-19 14:38 1448由于我使用Spring对项目进行重构,由Spring容器来管理 ... -
Spring C3P0 配置
2012-11-06 10:35 895<?xml version="1.0&qu ... -
request获得所有参数
2012-08-13 15:38 51505获取request里的所有参数及参数名(参数名自动获取) ... -
删除某个文件夹下的一周前的文件
2012-06-04 14:25 2573Java操作删除某个文件夹下的一周前的文件 这里我使用的是定时 ... -
Struts2 Iterator 使用
2012-05-28 09:39 1111在Struts2中,遍历集合的方式通常用iterator。 下 ... -
使用HttpUrlConnection 事列
2012-05-03 10:19 1003使用HttpUrlConnection下载Web网站上的图片并 ... -
Hibernate 保存Clob 和Blob
2012-04-26 15:25 6659注意:目前只能操作Clob,因为不想用Session直接操作! ... -
使用Spring Quartz 定时任务
2012-04-26 14:42 1128使用Spring Quartz 定时任务时需要以下几点: 1、 ... -
Java读取配置文件
2012-03-14 14:32 816//一.读取xml配置文件 //1.新建一个bean对象 ... -
JSON数据查看器
2011-11-16 09:49 909http://jsonviewer.stack.hu/ -
JSP隐藏对象
2011-11-09 16:52 828一、page 对象 page对象代表JSP本身,更准 ... -
Unable to compile class for JSP
2011-09-20 15:11 1409type Exception report messag ... -
struts2标签 我勒个去了 转
2010-12-14 10:24 1098要使用Struts2的标签,只 ... -
Java对Excel的处理
2009-04-06 18:15 1033Struts2对Excel的操作 1. ...
相关推荐
每次做android的时候都会有很多json数据,而且里面的属性还要一个一个写在类里面,很麻烦,然后做了这个json转java源代码的工具。 由于是java swing 写的,必须要java环境才能运行哦。 没有要资源分,免费下载。 ...
Json与java对象之间相互转换源码,测试,练习
JSON转JAVA & C# 实体类 绝对好用的工具
是一款强大的json转换工具,用了都说好
JSON串转javapojo类,下划线自动转为驼峰写法,下载下来浏览器打开就能用,方便快捷,做接口转发,esb的推荐使用
json格式转换为java实体类,idea导入即可,功能非常好用。直接允许main函数即可完成
包含mybatis-generator1.3.2的jar包、mysql数据库连接jar包、mybatis3.2.7.jar以及自动生成代码的配置文件模板
需要提前安装java sdk。 如果应对restful的请求和回应,输入和输出类可以放在同一个包里。否则json文件路径,class名,package名需要一一对应,避免出现同一个包里有相同的类。 具体使用方法参考 ...
json常用的工具类,包含json字符串转对象,list和map等
json格式与java类对象相互转换。json格式转换成java类对象,List,Map。类对象转换成json。
JSON转换为JAVA对象及日期格式转换处理 -
net.sf.json.JSONObject ==> Java对象
1.解析json字符串 2.将json字符串转换为java对象 3.将java对象转换为json字符串
自己写的一个json生成JavaBean工具类,需要有fastJson依赖存在才能使用,通过输入读取json数据的文本地址和输出javaBean文件的地址,执行Json2BeanUtil类的json2Bean方法,可自动生成JavaBean,需要自己手动导入各...
json转换json schema
一个自制的json转换jar 直接调用JsonFactory.toJson()方法可将javaBean转换成json
json logic java最新代码json logic java最新代码json logic java最新代码json logic java最新代码json logic java最新代码json logic java最新代码json logic java最新代码json logic java最新代码json logic java...
java 解析 json文件java 解析 json文件java 解析 json文件java 解析 json文件java 解析 json文件
1.一款将java对象转成json或是将json转成java对象的jar文件; 2.在网上找了半天才找到,希望大家共享; 3.使用方法,大家在网上随便找,很多,很简单,一看便会; 4.此包在eclipse中和AndroidStudio中都可以用,但是,你如果...
附件内容为:Java组装map数据,然后转换为json数据格式;Java解析json数据