关键字: 一个java处理json格式数据的通用类收藏
/** *//**
* Copyright (c) linkwise 2007-2009 corporation.
* All rights reserved
*/
package com.linghui.common.util;
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;
import net.sf.json.util.CycleDetectionStrategy;
import com.linghui.common.util.DateUtil;
import com.linghui.common.util.jsonutil.DateJsonValueProcessor;
/** *//**
* @author </br> <a href="mailto:fx19800215@163.com"> robert.feng</a>
*
*/
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
*/
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();
}
/** *//**
* @param args
*/
public static void main(String[] args) ...{
// TODO 自动生成方法存根
}
/** *//**
* 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));
分享到:
相关推荐
本篇文章将详细介绍Java中如何实现XML和JSON的相互转换,并提供一个名为`XmlToJson.java`的工具类作为参考。 首先,XML是一种结构化的数据表示方式,它以树形结构存储数据,易于人类阅读和编写,同时也易于机器解析...
总的来说,`JAVA-JSON工具转换类`这个主题涵盖了JSON数据处理的核心部分,包括JSON的序列化和反序列化,以及数据类型的转换。通过`json-lib`和`ezmorph`这两个库,开发者可以轻松地在Java程序中处理JSON数据,而`...
### Json处理工具类知识点 #### 一、简介 在Java编程中,经常需要对JSON数据进行解析、构建或转换等操作。为此,本知识点将基于提供的文件内容介绍一个实用的`JsonHandle`类,该类封装了多个用于处理JSON字符串的...
本篇将详细介绍如何使用Java工具类进行XML与JSON的转换,并介绍相关知识。 首先,`pom依赖.txt`文件中应包含的是Maven项目的依赖信息。在Java项目中,我们需要引入处理XML和JSON转换的库。通常,我们使用如Jackson...
例如,当你有一个C#类,并且想要将其以JSON格式发送到前端网页时,JSON工具包会将类的所有属性转换成相应的JSON键值对。 2. **反序列化**:将JSON字符串转换回.NET对象。这在接收来自外部的数据时非常有用,可以将...
在“实体类反射非空赋值,AjaxJson工具类”这个主题中,我们将探讨如何使用反射来安全地为实体类的属性赋值,并结合Ajax与JSON进行数据的转换和交互。 首先,让我们深入了解反射的概念。Java反射API提供了Class类,...
这个工具类“json-lib 解析json串工具类”就是专门为了解析JSON字符串而设计的,它能够帮助开发者有效地将JSON数据转换为Java对象,反之亦然。 1. **JSON对象与Java对象的映射** `json-lib`库支持将JSON对象转换为...
本篇文章将深入探讨如何在Android中实现一个将集合List转化为JSON字符串的工具类,以及在联网调接口时处理参数的方法。 首先,我们需要了解JSON的基本结构。JSON主要包含两种数据结构:对象(Object)和数组(Array...
标题中的“一款很好用的JSON工具”指的是专门设计用于处理JSON数据的软件或在线平台。这样的工具通常提供友好的用户界面,使用户可以方便地查看、编辑和测试JSON数据。它们可能包含以下功能: 1. **解析和展示**:...
为了方便地进行JSON与Java对象之间的转换,通常会封装一个JSON工具类。本文将详细介绍一个名为`JsonUtils`的工具类,它提供了两个主要功能:一是将JSON字符串转换为指定类型的Java对象;二是将Java对象转换为JSON...
"最好用的Json工具.exe",根据标题可以推断,这是一个用于处理JSON数据的桌面应用程序,名为Hijson。这类工具的主要功能通常包括JSON的解析、格式化、验证以及可能的转换。Hijson能够帮助开发者高效地处理JSON字符串...
在这个场景中,"工具类,根据给定长度,使用递归的方式拆分一个json成为多个json组成的列表"就是解决此类问题的一个方法。 首先,我们要理解这个工具类的工作原理。递归是一种在函数内部调用自身的技术,通常用于...
总结来说,“Json生成实体类工具”是一个实用的开发辅助工具,它能够帮助开发者高效地处理JSON数据,减少手动编码的时间和错误,提升开发效率。对于Android开发者来说,它是一个不可或缺的利器,特别是在处理大量...
综上所述,"json格式转换工具类"涉及到的是如何在Java环境中高效、安全地进行JSON数据的序列化与反序列化,以及自定义转换规则和处理潜在的安全风险。选择合适的工具库,并理解其基本用法,是提升开发效率的关键。
本文档主要介绍了两个Java工具类——JsonUtilsForJsonLib和JsonUtils,它们能够帮助我们将Java对象转换成JSON对象或字符串,以适应Ext框架对AJAX和JSON数据的需求。 JsonUtilsForJsonLib类依赖于官方提供的JSON库,...
本篇文章将深入探讨如何使用自定义的工具类`AppUtil`来简化JSON和XML的生成过程。 首先,JSON是一种轻量级的数据交换格式,它基于JavaScript语法,但独立于语言,易于人阅读和编写,同时也易于机器解析和生成。JSON...
这类工具类通常会依赖一些库,如Jackson、Gson或Fastjson等,这些库提供了高效的XML和JSON解析及转换功能。 `JsonEasyView`类可能是一个辅助类,用于美化和格式化显示JSON数据。在开发中,为了便于查看和调试JSON...
在实际项目中,我们可能通过Maven或Gradle等构建工具管理这些依赖。 总结一下,实现JSON类型的Result主要涉及以下步骤: 1. 创建表示业务结果的Java对象,如`JSONObject`。 2. 在处理请求的方法中,将业务逻辑的...
本篇将详细介绍如何使用两个Java工具类,`JackSonUtil` 和 `GsonUtil`,将Map和List对象转换为JSON字符串。 首先,`JackSonUtil` 是基于Jackson库的一个工具类,Jackson是Java中最流行的JSON处理库之一,提供了高效...
7. **性能优化**:高效的转换算法是这类工具的关键,快速处理大型JSON文件以减少等待时间。 在使用json2bin工具时,需要注意的是,由于二进制格式的特定性,转换过程可能会丢失JSON的一些特性,如注释和顺序。此外...