JSON工具类
package com.fh.util;
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;
/**
*
* @author donald
*
*/
public class JsonUtil {
/**
* 对象转换成JSON字符串 obj
* @param obj 需要转换的对象
* @return 对象的string字符
*/
public static String toJson(Object obj) {
JSONObject jSONObject = JSONObject.fromObject(obj);
return jSONObject.toString();
}
/**
* just for String[]
* @param obj
* @return
*/
public static String ArraytoJson(Object obj) {
JSONArray jsonArr = JSONArray.fromObject(obj);
return jsonArr.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);
}
public static <T> String ListToJson(List<T> lobj){
JSONArray jsonArr = JSONArray.fromObject(lobj);
return jsonArr.toString();
}
/**
* 根据json String 返回List
* @param json
* @return
*/
public static List<Object> jsonToList(String json){
JSONArray jsonArr = JSONArray.fromObject(json);
return jsonToList(jsonArr);
}
/**
* 将Json String转化为 bean list
* @param jsonArray
* @param clazz
* @return
*/
@SuppressWarnings({ "rawtypes" })
public static List jsonToList(String json,Class clazz){
JSONArray jsonArr = JSONArray.fromObject(json);
return jsonToList(jsonArr,clazz);
}
/**
* 将JSONArray转化为 bean list
* @param jsonArray
* @param clazz
* @return
*/
@SuppressWarnings({ "rawtypes", "deprecation" })
public static List jsonToList( JSONArray jsonArray,Class clazz){
if(jsonArray!=null){
try{
List list = JSONArray.toList(jsonArray,clazz);
return list;
}catch(Exception e){
return null;
}
}else{
return null;
}
}
/**
* 将JSONArray对象转换成list集合 map
* @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;
}
}
测试类
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import entity.Cat;
import util.JsonUtil;
public class testJson {
public static void main(String[] args){
Map<String ,String > bmap = new HashMap<String,String>();
bmap.put("user", "donald");
bmap.put("age", "32");
String bString = JsonUtil.toJson(bmap);
System.out.println("============map:"+bString);
Map<String, Object> bmaps = JsonUtil.jsonToMap(bString);
System.out.println("============user:"+bmaps.get("user"));
System.out.println("============age:"+bmaps.get("age"));
Cat cat1 = new Cat(4,"mini");
String cString = JsonUtil.toJson(cat1);
System.out.println("============Cat:"+cString);
Cat cat2 = JsonUtil.fromJson(cString, Cat.class);
System.out.println("============legs:"+cat2.getLegs());
System.out.println("============name:"+cat2.getName());
cat2.setLegs(5);
cat2.setName("big");
List<Cat> catList = new ArrayList<Cat>();
catList.add(cat1);
catList.add(cat2);
String clString = JsonUtil.ListToJson(catList);
System.out.println("============CatList:"+clString);
List<Cat> catListx= JsonUtil.jsonToList(clString,Cat.class);
Cat cat3 = catListx.get(0);
System.out.println("============legs:"+cat3.getLegs());
System.out.println("============name:"+cat3.getName());
}
}
结果输出:
============map:{"age":"32","user":"donald"}
============user:donald
============age:32
============Cat:{"legs":4,"name":"mini"}
============legs:4
============name:mini
============CatList:[{"legs":4,"name":"mini"},{"legs":5,"name":"big"}]
============legs:4
============name:mini
分享到:
相关推荐
java服务器用的json工具类,自己封装的,支持beanToJson ListToJson arrayToJson等
将集合、数组、字符串等形式转换成json格式,封装完善的json工具类
自己写的一个json工具类。
java json 工具类java json 工具类 java json 工具类java json 工具类 java json 工具类java json 工具类 java json 工具类java json 工具类
这个"bean,json工具类"就是为了解决这个问题而设计的,它的主要功能可能包括以下几点: 1. **Bean到JSON转换**:工具类提供了将Java Bean对象转换为JSON字符串的方法。这通常通过使用如Jackson、Gson或Fastjson等...
标题中的"asp的JSON工具类"就是为了解决这一问题,使得在ASP中读取、解析和生成JSON数据变得更加便捷。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...
总结来说,`Java json工具类`如`Jackson`和`ObjectMapper`,以及开发者自定义的`JacksonUtils`工具类,是Java开发中处理JSON数据的关键工具。它们能够方便地将Java对象和JSON格式数据互相转换,同时提供了一系列高级...
在实际开发中,使用JSON工具类时,常见的操作包括: - **序列化**:将Java对象转换为JSON字符串,这在发送HTTP请求或保存数据到文件时非常有用。 - **反序列化**:将JSON字符串解析为Java对象,便于在程序中使用...
本篇将详细介绍`Json工具类`及其相关的知识点。 一、Gson库 Gson是Google提供的一个Java库,能够将Java对象转化为JSON字符串,反之亦然。它通过简单的API设计,使得JSON数据的序列化和反序列化变得非常便捷。例如,...
JsonUtil json工具类 JsonUtil json工具类
1. **JSON工具类**: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们通常使用`org.json`库或`com.google.gson`库来处理JSON数据。...
Java处理JSON的全套工具类,依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar
在“实体类反射非空赋值,AjaxJson工具类”这个主题中,我们将探讨如何使用反射来安全地为实体类的属性赋值,并结合Ajax与JSON进行数据的转换和交互。 首先,让我们深入了解反射的概念。Java反射API提供了Class类,...
"Excel转Java以及JSON工具类"提供了一种便捷的方式来管理和转化结构化的数据。这种工具通常用于将Excel表格中的数据转换为Java对象或者JSON格式,方便在编程环境中进行操作和使用。 Excel是一种广泛使用的电子表格...
XML转JSON工具类,支持多层XML嵌套解析转JSON,采用dom4j解析转JSON格式,多次线上环境使用
包含各种对象转换成json对象,还包含把对象中的属性转成hashmap 并且可以过滤为空的或者为null的对象
java转JSON工具类说明,以后看着函数说明就自己可以随便使用JSON数据了,