zoukankan      html  css  js  c++  java
  • GSON解译Json为DTO

    除了用okhttp网络库外,还用到google的gson库。

    1. uti类的对象一般都用懒汉模式。这次gson也是用懒汉模式。

    public class GsonTools {
    
        private static Gson gson;
    
        // 饿汉式
        public static GsonTools gsonTools = new GsonTools();
    
        public GsonTools() {}
    
        public static GsonTools getInstance(){
            return gsonTools;
        }
        
    }

    2. GSON库有两种方法,叁返分别是List合集和String。

    如果是返回多於一个Array,服务器的响应是这样。

    [
        {"Name": "ChenKuang",
        "Age": "23",
        "Position" : "Full stack developer"}
        , 
        {"Name": "黑大猫",
        "Age": "23",
        "Position" : "数字媒体设计师"}
    ]

    如果只是返回一个Array,服务器的响应是这样。

        {"Name": "ChenKuang",
        "Age": "23",
        "Position" : "Full stack developer"}

    3. 所以对应GSON解释也有2种不同的写法。

    如果是把多於一个Array的Json,解译成一个List<DTO>的集合,应用以下写法。

        /*
        *    @param [String]json
        *    @return [List<PostDTP>]postDTOs
        */
        public <T> List<T> getPost (String jsonString) {
            gson = new Gson();
            List<T> list = gson.fromJson(jsonString, new TypeToken<List<PostDTO>>() {}.getType());
            return list;
        }

    如果是把一个Array的Json,解译成一个DTO,应用以下写法。

        /*
        *    @param [String]json
        *    @return [ResultDTO]resultDTO
        */
        public ResultDTO getLogin (String jsonString) {
            gson = new Gson();
            ResultDTO resultDTO = gson.fromJson(jsonString, ResultDTO.class);
            return resultDTO;
        }
  • 相关阅读:
    Python 内置函数 —— format
    命名集 —— 名字结构
    命名集 —— 名字结构
    存储与主板的外设接口
    存储与主板的外设接口
    验证码的认识
    验证码的认识
    windows 路径
    windows 路径
    极限的求法
  • 原文地址:https://www.cnblogs.com/chenkuang/p/8111286.html
Copyright © 2011-2022 走看看