黑猴子的家:JsonUtils

1、JsonDemo

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import utils.JsonUtils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class JsonDemo {

    public static void main(String[] args) throws Exception {

        Map> mapList = new HashMap<>();

        ArrayList arrayList1 = new ArrayList<>();
        arrayList1.add("A");
        arrayList1.add("B");
        arrayList1.add("C");
        arrayList1.add("D");
        mapList.put("1108", arrayList1);

        ArrayList arrayList2 = new ArrayList<>();
        arrayList2.add("Q");
        arrayList2.add("W");
        arrayList2.add("E");
        arrayList2.add("R");
        arrayList2.add("T");
        mapList.put("1109", arrayList2);

        String jsonString = JsonUtils.createJsonString(mapList);
        System.out.println(jsonString);

        //解析
        Map map = JsonUtils.getMapObj(jsonString);
        System.out.println(map);

        System.out.println(map.get("1108").toString());
        List nameList = JSON.parseObject(map.get("1108").toString(), new TypeReference>() {});

        System.out.println(nameList.get(3));

        //{"1109":["name":"Nick", "sex":"male"],"1108":["name": "Tom", "sex":"male"]}
        String ori = "{\"1109\":[{\"name\":\"Nick\",\"sex\":\"male\"},{\"name\":\"Tom\",\"sex\":\"male\"}],\"1108\":[{\"name\":\"Riven\",\"sex\":\"female\"},{\"name\":\"Bob\",\"sex\":\"male\"}]}";
//        {
//            "1109": [{
//            "name": "Nick",
//                    "sex": "male"
//        }, {
//            "name": "Tom",
//                    "sex": "male"
//        }],
//            "1108": [{
//            "name": "Riven",
//                    "sex": "female"
//        }, {
//            "name": "Bob",
//                    "sex": "male"
//        }]
//        }

        Map oriMap = JsonUtils.getMapObj(ori);
        List> listMap = JsonUtils.getListMap(oriMap.get("1108").toString());
        String name = listMap.get(0).get("name").toString();
        System.out.println(name);
    }
}

2、JsonUtils

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
/**
 *
 * 功能描述: json数据的解析工具类
 */
public class JsonUtils {

    public JsonUtils() {}

    /**
     * 使用JSON工具把数据转换成json对象
     * @param value 是对解析的集合的类型
     */
    public static String createJsonString(Object value)throws Exception {
        return JSON.toJSONString(value);
    }

    /**
     * 对单个javabean进行解析
     * @param 
     * @param json  要解析的json字符串
     * @param cls   实体bean的字节码对象
     * @return
     */
    public static T getObject(String json,Class cls)throws Exception{
        return JSON.parseObject(json,cls);
    }

    /**
     * 对list类型进行解析
     * @param 
     * @param json    要解析的json字符串
     * @param cls    实体bean的字节码对象
     * @return
     */
    public static  List getListObject(String json, Class cls)throws Exception{
        return JSON.parseArray(json, cls);
    }

    /**
     * 对MapString类型数据进行解析
     * @param json  要解析的json字符串
     * @return
     */
    public static Map getMapStr(String json)throws Exception{
        return JSON.parseObject(json, new TypeReference>(){});
    }

    /**
     * 对MapObject类型数据进行解析
     * @param json  要解析的json字符串
     * @return
     */
    public static Map getMapObj(String json)throws Exception{
        return JSON.parseObject(json, new TypeReference>(){});
    }

    /**
     * 对listmap类型进行解析
     * @param json  要解析的json字符串
     * @return
     */
    public static List> getListMap(String json)throws Exception{
        return JSON.parseObject(json,new TypeReference>>(){});
    }
}

3、pom.xml


    com.alibaba
    fastjson
    1.2.41

你可能感兴趣的:(Java,SE)