- 浏览: 20373 次
- 性别:
- 来自: 无锡
最新评论
package com.baiyyy.polabs.util.json; import java.text.ParseException; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import com.baiyyy.polabs.util.DateUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.util.CycleDetectionStrategy; /** * 处理json的工具类,负责json数据转换成java对象和java对象转换成json * * @author yongtree * @date 2008-11-22 上午10:47:13 * @version 1.0 */ public class JsonUtil { /** * 从一个JSON 对象字符格式中得到一个java对象 * * @param jsonString * @param pojoCalss * @return */ public static Object getObject4JsonString(String jsonString, Class pojoCalss) { Object pojo; JSONObject jsonObject = JSONObject.fromObject(jsonString); pojo = JSONObject.toBean(jsonObject, pojoCalss); return pojo; } /** * 从json HASH表达式中获取一个map,改map支持嵌套功能 * * @param jsonString * @return */ public static Map getMap4Json(String jsonString) { JSONObject jsonObject = JSONObject.fromObject(jsonString); Iterator keyIter = jsonObject.keys(); String key; Object value; Map valueMap = new HashMap(); while (keyIter.hasNext()) { key = (String) keyIter.next(); value = jsonObject.get(key); valueMap.put(key, value); } return valueMap; } /** * 从json数组中得到相应java数组 * * @param jsonString * @return */ public static Object[] getObjectArray4Json(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); return jsonArray.toArray(); } /** * 从json对象集合表达式中得到一个java对象列表 * * @param jsonString * @param pojoClass * @return */ public static List getList4Json(String jsonString, Class pojoClass) { JSONArray jsonArray = JSONArray.fromObject(jsonString); JSONObject jsonObject; Object pojoValue; List list = new ArrayList(); for (int i = 0; i < jsonArray.size(); i++) { jsonObject = jsonArray.getJSONObject(i); pojoValue = JSONObject.toBean(jsonObject, pojoClass); list.add(pojoValue); } return list; } /** * 从json数组中解析出java字符串数组 * * @param jsonString * @return */ public static String[] getStringArray4Json(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); String[] stringArray = new String[jsonArray.size()]; for (int i = 0; i < jsonArray.size(); i++) { stringArray[i] = jsonArray.getString(i); } return stringArray; } /** * 从json数组中解析出javaLong型对象数组 * * @param jsonString * @return */ public static Long[] getLongArray4Json(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); Long[] longArray = new Long[jsonArray.size()]; for (int i = 0; i < jsonArray.size(); i++) { longArray[i] = jsonArray.getLong(i); } return longArray; } /** * 从json数组中解析出java Integer型对象数组 * * @param jsonString * @return */ public static Integer[] getIntegerArray4Json(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); Integer[] integerArray = new Integer[jsonArray.size()]; for (int i = 0; i < jsonArray.size(); i++) { integerArray[i] = jsonArray.getInt(i); } return integerArray; } /** * 从json数组中解析出java Date 型对象数组,使用本方法必须保证 * * @param jsonString * @return * @throws ParseException */ public static Date[] getDateArray4Json(String jsonString, String DataFormat) throws ParseException { JSONArray jsonArray = JSONArray.fromObject(jsonString); Date[] dateArray = new Date[jsonArray.size()]; String dateString; Date date; for (int i = 0; i < jsonArray.size(); i++) { dateString = jsonArray.getString(i); date = DateUtil.parseDate(dateString, DataFormat); dateArray[i] = date; } return dateArray; } /** * 从json数组中解析出java Integer型对象数组 * * @param jsonString * @return */ public static Double[] getDoubleArray4Json(String jsonString) { JSONArray jsonArray = JSONArray.fromObject(jsonString); Double[] doubleArray = new Double[jsonArray.size()]; for (int i = 0; i < jsonArray.size(); i++) { doubleArray[i] = jsonArray.getDouble(i); } return doubleArray; } /** * 将java对象转换成json字符串 * * @param javaObj * @return */ public static String getJsonString4JavaPOJO(Object javaObj) { JSONObject json; json = JSONObject.fromObject(javaObj); return json.toString(); } /** * 将java对象转换成json字符串,并设定日期格式 * * @param javaObj * @param dataFormat * @return */ public static String getJsonString4JavaPOJO(Object javaObj, String dataFormat) { JSONObject json; JsonConfig jsonConfig = configJson(dataFormat); json = JSONObject.fromObject(javaObj, jsonConfig); return json.toString(); } /** * JSON 时间解析器具 * * @param datePattern * @return */ public static JsonConfig configJson(String datePattern) { JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(new String[] { "" }); jsonConfig.setIgnoreDefaultExcludes(false); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(datePattern)); return jsonConfig; } /** * 除去不想生成的字段(特别适合去掉级联的对象)+时间转换 * @param excludes 除去不想生成的字段 * @param datePattern * @return */ public static JsonConfig configJson(String[] excludes, String datePattern) { JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(excludes); jsonConfig.setIgnoreDefaultExcludes(true); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(datePattern)); return jsonConfig; } }
文章原址http://yongtree.iteye.com/blog/274087
发表评论
-
js正则
2011-08-08 09:20 865一 javascript正则表达式的基本知识 1 j ... -
一些有用的站点
2011-04-10 10:09 612高质量图标搜索引擎 1.IconFinder 以简便并且有效的 ... -
struts2基本配置
2010-09-24 09:07 7911.web.xml <?xml version=&q ... -
Myeclipse的自动提示功能的设置
2010-09-01 16:06 1039仅作记录 1. 设置代码自动提示 window - ... -
临时文件
2010-08-30 10:36 652document.forms['editForm'].ac ... -
CSS 伪类
2010-08-13 09:38 705声明:本例转自 《精通JavaScript+JQuery》 ... -
js+css 文字跟随鼠标
2010-08-13 09:32 1362声明:本例转自 《精通JavaScript+jQuery》 ... -
js检测浏览器和操作系统
2010-08-13 09:25 2948<!DOCTYPE html PUBLIC &quo ... -
div设置滚动条和滚动条颜色
2010-08-07 17:41 720当div所定义的区域的内容达到一定程度时,在div标签里面嵌入 ... -
CSS 积累
2010-08-04 13:16 6501. button按钮设置背景图片,边角无空白 <i ... -
J2EE 1.5 提供的另一种形式的for循环
2010-07-14 10:38 748J2SE 1.5提供了另一种形式的for循环 ... -
缺包异常
2010-07-13 13:38 2358缺包异常: ------------------------- ... -
js字符串函数
2010-07-13 08:47 965JS自带函数 concat 将两个或多个字符的文本组合起来,返 ... -
常用js代码
2010-07-10 16:34 7441.去除字符串的空白符 ... -
mysql中文问题
2010-06-16 03:35 790解决MYSQL不支持中文的 ... -
在javajee中搭建ssh
2010-06-15 17:29 1370版本:struts1.2+hibernate3.3.1+spr ...
相关推荐
本文件列举了java是怎么操作json的,很详细,同时jar包也准备齐全了!
适合对json串的接收和返回,帮助解决实际当中的问题。
一个java处理JSON格式数据的通用类.pdf 用java处理json格式的数据,因此封装了一个class
功能: json->java Bean java Bean -> json
实现全局转换标准json格式的字符串的key值,亲测可用。
Java源代码JavaToJson-JsonToJava 将Java转换为Json或将Json转换为Java的通用源代码
基于googleGson的Json工具类,支持List,Object与Json互转,简单易用,Java与Android通用
。。。
。。。
1)本例为Java代码生成器InfinityGPGenerator0.79版 2)支持自动生成JSON Facade 3)请使用本代码生成器的DSL即SGS(标准生成器脚本)完成您的工作 4)不吝反馈jerry_shen_sjf@qq.com
在大家开发的系统中,如果程序用ExtJS做表现层,那么就需要使ExtJS开发的界面和后台Java代码中生成的数据交互,一般来说,可以选 择XML格式和Json格式的数据进行交互,但是XML格式的数据操作相对繁琐,因此,大部分...
通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密解密,如MD5、BASE64,AES、DES等 - 4.文件操作,包括file、image、zip等 - 5.http - 6.jdbc - 7.json - 8.邮件 - 9.二维码、...
通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密解密,如MD5、BASE64,AES、DES等 - 4.文件操作,包括file、image、zip等 - 5.http - 6.jdbc - 7.json - 8.邮件 - 9.二维码、...
一个json相互转换的万能java类(JsonUtil.java), 这个下面就是万能转换类的方法注释,懂java的相信都能看懂。 /** *//** * 从一个JSON 对象字符格式中得到一个java对象 * @param jsonString * @param ...
通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密解密,如MD5、BASE64,AES、DES等 - 4.文件操作,包括file、image、zip等 - 5.http - 6.jdbc - 7.json - 8.邮件 - 9.二维码、...