json工具类

要使用json,首先是要引入夹包,需要的夹包如下图:

可以依据夹包的名字去网上下载

引入夹包之后就是实现具体的功能

============开始================

===========1:json格式的字符串转换为list====

     /**
     * json格式的字符串转换为list
     * 注:list中是多个map或是多个javabean实体
     */
    public void test3(){
        String json="[{"id":1001,"name":"蓝星"}," +
                "{"id":1002,"name":"红心"}," +
                "{"id":1003,"name":"白皙"}," +
                "{"id":1004,"name":"紫嫣"}]";
        JSONArray jsonArray=JSONArray.fromObject(json);
        //List<Map> list=jsonArray.toList(jsonArray, Map.class);
        List<Map> list=(List)jsonArray.toCollection(jsonArray, Map.class);
        for(Map u:list){
            System.out.println(u.get("name"));
        }
    }

   //或者封装为公共的方法

    /**
     * json格式的字符串转换为list
     * 注:list中是多个map或是多个javabean实体
     * 引用这个方法举例:List<Map> list=test3(json,Map.class);----形参json自定义一个json字符串即可,可以使用上面的那个。

        这是转成Map,转成实体如下
     *               List<User> list=test3(json,User.class);---自定义一个javabean,User类,一定要和json格式相同

     */
    public static <T> List<T> test3(String json,Class<T> clazz){
        JSONArray jsonArray=JSONArray.fromObject(json);
        List<T> list=(List)jsonArray.toCollection(jsonArray, clazz);
        return list;
    }

===========1:json格式的字符串转换为Map或是实体===

/**
     *
     * @param json
     * @param clazz
     * @return
     */
    public static <T> T test2(String json,Class<T> clazz){
        JSONObject object=JSONObject.fromObject(json);
        T t=(T)JSONObject.toBean(object, clazz);        
        return t;      
    }

   /*测试数据如下,

       String json="{"id":1001,"name":"lanxing"}";
        Map m=test2(json,Map.class);
        System.out.println(m.get("id"));

   */

==============将map、实体、list转json字符串=====================

     /**
     *将map、实体、list转json字符串
     */
    public static String test1(Object obj){
        JSONObject jsonbject=JSONObject.fromObject(obj);
        String s=jsonbject.toString();
        return s;
    }

 ==============  //根据key获取json中的value值,一般用于返回值的判断=============

public static void test0(){
        Map m=new HashMap();
        m.put("success",true);
        m.put("name1","lanxing");
        JSONObject jsonbject=JSONObject.fromObject(m);
        //根据key获取json中的value值
        boolean b=jsonbject.getBoolean("success");
        System.out.println(b);//true
        
    }

原文地址:https://www.cnblogs.com/xueershewang/p/6841733.html