`

Json转换工具类JsonUtil

 
阅读更多

1. maven依赖包下载

 <!--json-lib-->    
	<dependency>    
	    <groupId>net.sf.json-lib</groupId>    
	    <artifactId>json-lib</artifactId>    
	    <version>2.4</version>    
	    <classifier>jdk15</classifier>    
	</dependency> 

 

2. JsonUtil.java

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
 * JSON转换工具类
 * 
 * @author penghuaiyi
 * @date 2014-04-04
 */
public class JsonUtil {

	/**
	 * 对象转换成JSON字符串
	 * 
	 * @param obj
	 *            需要转换的对象
	 * @return 对象的string字符
	 */
	public static String toJson(Object obj) {
		JSONObject jSONObject = JSONObject.fromObject(obj);
		return jSONObject.toString();
	}

	/**
	 * JSON字符串转换成对象
	 * 
	 * @param jsonString
	 *            需要转换的字符串
	 * @param type
	 *            需要转换的对象类型
	 * @return 对象
	 */
	@SuppressWarnings("unchecked")
	public static <T> T fromJson(String jsonString, Class<T> type) {
		JSONObject jsonObject = JSONObject.fromObject(jsonString);
		return (T) JSONObject.toBean(jsonObject, type);
	}

	/**
	 * 将JSONArray对象转换成list集合
	 * 
	 * @param jsonArr
	 * @return
	 */
	public static List<Object> jsonToList(JSONArray jsonArr) {
		List<Object> list = new ArrayList<Object>();
		for (Object obj : jsonArr) {
			if (obj instanceof JSONArray) {
				list.add(jsonToList((JSONArray) obj));
			} else if (obj instanceof JSONObject) {
				list.add(jsonToMap((JSONObject) obj));
			} else {
				list.add(obj);
			}
		}
		return list;
	}

	/**
	 * 将json字符串转换成map对象
	 * 
	 * @param json
	 * @return
	 */
	public static Map<String, Object> jsonToMap(String json) {
		JSONObject obj = JSONObject.fromObject(json);
		return jsonToMap(obj);
	}

	/**
	 * 将JSONObject转换成map对象
	 * 
	 * @param json
	 * @return
	 */
	public static Map<String, Object> jsonToMap(JSONObject obj) {
		Set<?> set = obj.keySet();
		Map<String, Object> map = new HashMap<String, Object>(set.size());
		for (Object key : obj.keySet()) {
			Object value = obj.get(key);
			if (value instanceof JSONArray) {
				map.put(key.toString(), jsonToList((JSONArray) value));
			} else if (value instanceof JSONObject) {
				map.put(key.toString(), jsonToMap((JSONObject) value));
			} else {
				map.put(key.toString(), obj.get(key));
			}

		}
		return map;
	}
}

 

分享到:
评论

相关推荐

    json数据转换工具jsonutil

    JSONUtil是一个Java工具类,专门设计用于处理JSON数据,它提供了方便的方法将JSON字符串与Java对象之间进行转换,无需依赖其他外部jar包。本文将深入探讨JSONUtil的核心功能及其在实际开发中的应用。 首先,...

    JsonUtils(Json转换工具类)

    《JsonUtils:强大的Json转换工具类》 在Java开发中,JSON作为一种轻量级的数据交换格式,被广泛用于服务器与客户端之间的数据传输。为了方便开发者处理JSON格式的数据,出现了许多库,如Jackson、Gson、Fastjson等...

    JAVA-JSON工具转换类

    总的来说,`JAVA-JSON工具转换类`这个主题涵盖了JSON数据处理的核心部分,包括JSON的序列化和反序列化,以及数据类型的转换。通过`json-lib`和`ezmorph`这两个库,开发者可以轻松地在Java程序中处理JSON数据,而`...

    json 转化工具类

    这类工具类通常提供了一系列静态方法,方便开发者进行JSON与Java对象之间的相互转换。 1. **Jackson库**:Jackson是Java中最常用的JSON库之一,它提供了`ObjectMapper`类来实现JSON与Java对象的转换。例如,可以...

    JsonUitl(一 个json转成list的简单通用工具类)

    下面,我们将深入探讨JSON转换和`JsonUtil` 工具类的一些核心功能和用法: 1. **JSON对象数组解析:** JSON对象数组通常表现为一个包含多个JSON对象的字符串,每个对象由大括号{}包围,对象间由逗号分隔。例如: ...

    JSON jar包含源码及应用类JSONUtil

    JSON jar包含源码及应用类JSONUtil,可以直接查看源码不用反编译,并且可以直接调用JSONUtil工具类进行,JSon字符串转换为JavaBean ,并可以把JavaBean转换为JSon字符串。

    json转换工具,支持日期

    本文将详细介绍如何使用`json-lib`进行JSON转换,并特别关注日期的处理。在提供的压缩包文件中,我们可以看到以下几个关键类: 1. `JsonUtil.java`: 这是主要的工具类,通常包含各种静态方法,用于执行JSON与Java...

    JsonUtil代码工具类

    在描述中提到的“2个工具类”,可能是指JsonUtil类本身以及它可能依赖的辅助类。JsonUtil的主要功能包括将JSON字符串解析为Java对象,如Object、List或HashMap,以及将Java对象转换成JSON字符串。 首先,我们来看`...

    json转换java常用工具类

    在提供的代码中,`JsonUtil`类是用于处理JSON与Java对象之间转换的一个工具类。它使用了开源库EZMorph和JSON库(可能是json-lib),这两个库在Java社区中广泛用于JSON操作。 `getDTO`方法接收一个JSON字符串和一个...

    object与 json 相互转换工具类

    //list 转json Gson g1 = new Gson(); List&lt;String&gt; list1 = new ArrayList(); String str1 = g1.toJson(list1); //json 转list Gson g2 = new Gson(); List&lt;String&gt; list2 = g2.fromJson(str1, new TypeToken...

    JsonUtil工具类

    而JsonUtil工具类则是开发者为了简化JSON与Java对象之间的转换而创建的,它极大地提高了开发效率。本文将详细探讨JsonUtil及其相关库的使用和原理。 首先,JsonUtil工具类通常依赖于一些第三方库,如Jackson、Gson...

    JsonUtil工具累

    json工具类,基于com.google.code.gson封装的json转换工具类

    Json全部jar包

    总结来说,`Json全部jar包`是Java开发中处理JSON数据的一组工具,其中的`json-lib-2.2.2-jdk15.jar`是其中一个关键的库,它提供了将Java对象与JSON格式之间转换的功能。了解并掌握如何使用这些库对于任何涉及JSON...

    处理JSON日期转换

    `JsonUtil`类中定义了一系列静态方法,用于将JSON字符串转换为Java对象或对象数组。这些方法的核心是使用了`json-lib`库,这是一个Java处理JSON数据的第三方库,版本为2.2.2-jdk13。值得注意的是,作者特别提到`json...

    json转换JavaBean

    总结,Java中将JSON转换为JavaBean主要有手动解析、使用Gson、Jackson、Fastjson等库以及自定义工具类等多种方式。选择哪种方式取决于项目需求、性能要求以及团队的熟悉程度。在实际开发中,应根据具体情况选择最...

    一个简单的JSON 数据格式转换类

    然而,如果我们想要从头开始构建一个基础的JSON转换器,我们可以遵循以下步骤: 1. **定义JSON对象结构**: JSON对象由键值对组成,可以用Java的HashMap或LinkedHashMap表示。键是字符串,值可以是基本类型、其他...

    android常用json传值解析工具类

    创建一个名为`JsonUtil`的工具类,可以包含以下常用方法: - 对象转JSON字符串: ```java public static String objectToJson(Object obj) { return JSON.toJSONString(obj); } ``` - JSON字符串转对象: ...

    发个普通类转成json的工具类,功能比较简单

    首先,`JSONUtil.java`是主要的工具类,它通常会包含一系列静态方法,如`toJson(Object obj)`,该方法接收一个Java对象作为参数,然后将其转换为JSON字符串。这种转换通常是通过使用流行的JSON库,例如Gson、Jackson...

    Json转对象忽略大小写

    5. 可能存在的`JsonUtils.java`文件中的自定义JSON转换工具类。 理解并掌握这些知识点,对于处理JSON数据在Java中的转换和映射问题至关重要,特别是在对接API或处理外部数据时,可能会遇到各种格式不一致的问题。

    Java的JsonUtil

    总结来说,`JsonUtil`是Java中处理JSON转换的实用工具类,它封装了流行JSON库的功能,提供了一致且简洁的API,使得开发者能更高效地在Java对象和JSON字符串之间进行转换。通过分析`JsonUtil.java`源代码,我们可以...

Global site tag (gtag.js) - Google Analytics