import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import com.nstc.fbth.model.DateJsonValueProcessor;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.CycleDetectionStrategy;
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] = Long.valueOf(String.valueOf(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] = Integer.valueOf(String.valueOf(jsonArray.getInt(i)));
}
return integerArray;
}
/**
* 从json数组中解析出java Date 型对象数组,使用本方法必须保证
* @param jsonString
* @return
*/
public static Date[] getDateArray4Json(String jsonString,String DataFormat){
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.stringToDate(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 DateJsonValueProcessor(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(false);
jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
jsonConfig.registerJsonValueProcessor(Date.class,
new DateJsonValueProcessor(datePattern));
return jsonConfig;
}
public static JsonConfig configJson(String[] excludes
) {
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(excludes);
jsonConfig.setIgnoreDefaultExcludes(false);
jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
return jsonConfig;
}
}
分享到:
相关推荐
JSONUtil是一个Java工具类,专门设计用于处理JSON数据,它提供了方便的方法将JSON字符串与Java对象之间进行转换,无需依赖其他外部jar包。本文将深入探讨JSONUtil的核心功能及其在实际开发中的应用。 首先,...
JsonUtil json工具类 JsonUtil json工具类
本文将深入探讨“JsonUtil”代码工具类的相关知识点,主要基于提供的两个文件:JsonParser.java和JsonValue.java。 JsonUtil工具类通常包含了处理JSON对象与Java对象之间转换的一系列方法。在描述中提到的“2个工具...
JSON jar包含源码及应用类JSONUtil,可以直接查看源码不用反编译,并且可以直接调用JSONUtil工具类进行,JSon字符串转换为JavaBean ,并可以把JavaBean转换为JSon字符串。
《JsonUtil工具类详解》 在Java开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,被广泛用于前后端数据交互。而JsonUtil工具类则是开发者为了简化JSON与Java对象之间的转换而创建的,它极...
JSONUtil最新源代码JSONUtil最新源代码JSONUtil最新源代码JSONUtil最新源代码JSONUtil最新源代码JSONUtil最新源代码JSONUtil最新源代码JSONUtil最新源代码JSONUtil最新源代码JSONUtil最新源代码JSONUtil最新源代码...
json工具类,基于com.google.code.gson封装的json转换工具类
Google json工具类,将java对象装换为json,支持泛型和任意类型
`JsonUtil` 是一个Java工具类,专门用来处理JSON数据,特别是将JSON对象数组转换为List类型,方便对数据进行进一步的操作。 在Java中,处理JSON数据通常需要借助第三方库,如Jackson、Gson或Fastjson等。这些库提供...
JSONUtil是Java中用于处理JSON数据的工具类,通常用于将Java对象转换为JSON字符串,或者将JSON字符串反序列化为Java对象。这个过程在Java中被称为对象序列化和反序列化。 Java的`JsonUtil`类通常是自定义的工具类,...
JSONUtil工具类是Java开发中处理JSON数据的一种实用工具,它简化了JSON对象与Java对象之间的转换过程。在本文中,我们将深入探讨JSONUtil工具类的实现和使用方法,以及如何利用阿里巴巴的Fastjson库来增强JSON操作。...
自己封装的json数据转换类,并打成jar包 可以直接使用
leano-jsonutil LCMC(更少代码,更舒适) 简单的Json Util项目,可帮助您快速创建Json。 Json util是对json操作的开发人员友好的sepc和api。 GsonUtil instance = GsonUtil.instance(); //Even number of params...
json解析大全android,java
JSONUtil java工具类,快速方便读取JSON
为了提高代码的可重用性和可维护性,我们可以将这些常见的操作封装到工具类中,例如`JsonUtil`和`CookieUtil`。下面我们将详细讲解这两个工具类的工作原理及其在实际开发中的应用。 首先,`JsonUtil`工具类主要用于...
json 工具类 转换 获取泛型的Collection Type JavaType javaType = mapper.getTypeFactory().constructParametricType( collectionClass, elementClasses);
包含了 通过string转json,通过jsonarray转json,获取json里面的值,包括,boolean,int,long,string,json,jsonarry等类型,同时还可以给json赋值,是一个比较多用途的工具类,同时还进行了异常处理
json_TO_clientdataset_JSONUtil包.rar 整理了一下 JSON 轉CLIENTDATASET 功能 相關單元文件, 從網絡下載的工具類: SUPEROBJECT.PAS, myUnicode.pas , uJSONDB.pas, uDeltaToSQL.pas, superxmlparser.pas 測試...