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 staticT fromJson(String jsonString, Class type) { JSONObject jsonObject = JSONObject.fromObject(jsonString); return (T) JSONObject.toBean(jsonObject, type); } public static String ListToJson(List lobj){ JSONArray jsonArr = JSONArray.fromObject(lobj); return jsonArr.toString(); } /** * 根据json String 返回List * @param json * @return */ public static List
测试类
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){ Mapbmap = new HashMap (); bmap.put("user", "donald"); bmap.put("age", "32"); String bString = JsonUtil.toJson(bmap); System.out.println("============map:"+bString); Map 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 catList = new ArrayList (); catList.add(cat1); catList.add(cat2); String clString = JsonUtil.ListToJson(catList); System.out.println("============CatList:"+clString); List 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