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
        
    }

posted @ 2017-05-11 17:03  雪儿蛇王  阅读(319)  评论(0编辑  收藏  举报