zoukankan      html  css  js  c++  java
  • 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
            
        }

  • 相关阅读:
    20200713 T3 图论
    20200713 T1序列问题
    【题解】P1441 砝码称重
    【题解】P2858 [USACO06FEB]Treats for the Cows G/S
    【比赛】AISing Programming Contest 2019
    20200709 T3 城堡
    20200709 T2 括号
    20200709 T1 笔记
    20200628 T3 网络检查
    个人技术总结
  • 原文地址:https://www.cnblogs.com/xueershewang/p/6841733.html
Copyright © 2011-2022 走看看