Java操作json的通用类_第1页
Java操作json的通用类_第2页
Java操作json的通用类_第3页
Java操作json的通用类_第4页
Java操作json的通用类_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论