版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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 net.sf.json.JSONArray;import net.sf.json.JSONObject;import net.sf.json.JsonConfig
2、;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 getObject4Js
3、onString(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) J
4、SONObject 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数组中得到相应jav
5、a数组 * * 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(Strin
6、g 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
7、(pojoValue); return list; /* * 从json数组中解析出java字符串数组 * * param jsonString * return */ public static String getStringArray4Json(String jsonString) JSONArray jsonArray = JSONArray.fromObject(jsonString); String stringArray = new StringjsonArray.size(); for (int i = 0; i jsonArray.size(); i+) stringArra
8、yi = jsonArray.getString(i); return stringArray; /* * 从json数组中解析出javaLong型对象数组 * * param jsonString * return */ public static Long getLongArray4Json(String jsonString) JSONArray jsonArray = JSONArray.fromObject(jsonString); Long longArray = new LongjsonArray.size(); for (int i = 0; i jsonArray.size(
9、); i+) longArrayi = 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 IntegerjsonArray.size(); for
10、 (int i = 0; i jsonArray.size(); i+) integerArrayi = jsonArray.getInt(i); return integerArray; /* * 从json数组中解析出java Date 型对象数组,使用本方法必须保证 * * param jsonString * return * throws ParseException */ public static Date getDateArray4Json(String jsonString, String DataFormat) throws ParseException JSONArray
11、 jsonArray = JSONArray.fromObject(jsonString); Date dateArray = new DatejsonArray.size(); String dateString; Date date; for (int i = 0; i jsonArray.size(); i+) dateString = jsonArray.getString(i); date = DateUtil.parseDate(dateString, DataFormat); dateArrayi = date; return dateArray; /* * 从json数组中解析
12、出java Integer型对象数组 * * param jsonString * return */ public static Double getDoubleArray4Json(String jsonString) JSONArray jsonArray = JSONArray.fromObject(jsonString); Double doubleArray = new DoublejsonArray.size(); for (int i = 0; i jsonArray.size(); i+) doubleArrayi = jsonArray.getDouble(i); retu
13、rn 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 stat
14、ic 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(Strin
15、g datePattern) JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(new String ); jsonConfig.setIgnoreDefaultExcludes(false); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(datePattern); r
16、eturn jsonConfig; /* * 除去不想生成的字段(特别适合去掉级联的对象)+时间转换 * param excludes 除去不想生成的字段 * param datePattern * return */ public static JsonConfig configJson(String excludes, String datePattern) JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setExcludes(excludes); jsonConfig.setIgnoreDefaultExcludes(true)
17、; jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); jsonConfig.registerJsonValueProcessor(Date.class, new JsonDateValueProcessor(datePattern); return jsonConfig; *日期转换*package com.baiyyy.polabs.util.json; import java.text.SimpleDateFormat; import java.util.Date; import net.sf.jso
18、n.JsonConfig; import cessors.JsonValueProcessor; /* * * author yongtree * date 2008-11-22 上午10:54:19 * version 1.0 */ 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 proce
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《化学品安全培训》课件
- 2026年阜南县教师招聘笔试备考试题及答案解析
- 2026年宁晋县教师招聘笔试备考题库及答案解析
- 2026年崇仁县教师招聘笔试备考题库及答案解析
- 2026年清丰县教师招聘笔试备考题库及答案解析
- 中石化第十建设有限公司2027年度校园招聘笔试备考试题及答案解析
- 诗歌鉴赏答题思维导图
- 人教版二年级上册用乘法解决问题
- 三年级下册面积单位的换算
- 部编版二年级下《雷雨》课件
- 沉浸式数字艺术展策展、运营及衍生品开发指南
- 2026年山西中考物理真题
- 2025年东莞初中音乐考编笔试及答案
- 2026年及未来5年市场数据中国聚醚酰亚胺(PEI)行业市场需求预测及投资战略规划报告
- MEMS传感器课件教学课件
- 小学安全使用家电课件
- (正式版)DB65∕T 4907-2025 《自治区本级行政事业单位办公设备与家具配置规范》
- 露天矿山环保操作规范培训课件
- 2025年部编版新教材语文八年级上册第二单元教学设计
- 西安交通大学少年班自主招生物理试卷试题及答案(2025年)
- 2025年人教版小学二年级上册奥林匹克数学竞赛试卷(附参考答案)
评论
0/150
提交评论