除了用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;
}

GSON解译Json为DTO的更多相关文章

  1. Gson解析json繁杂数据

    碰到json数据.里面格式众多.list+string[]+等等.具体json参数如下: eg:以下为接口参数: "responseData":{ "brandCode& ...

  2. 使用Gson解析json

    前边的博客说过将json解析成java的方法,使用的是 这几个jar包,但是在解析时层遇到一个问题,就是在将时间字符串转换为java的Timestamp对象时会抛出异常,这个问题一直放在哪里没有去解决 ...

  3. 大话JSON之Gson解析JSON

    (三)解析Json数组(多条Json数据) 比如有如下Json数据: [{'name':'John', 'grade':[{'course':'English','score':100},{'cour ...

  4. Gson操作json

    github:https://github.com/google/gson API:http://google.github.io/gson/apidocs/ 示例对象 package present ...

  5. Android中使用Gson解析JSON数据的两种方法

    Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下   Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...

  6. Gson解析json数据

    1.解析单个对象 JSON字符串如下 [ { "formatDate":"2015-10-28", "date":"2015\u5 ...

  7. 表现层的设计(一)——常用的模式、Json与DTO

    上几篇博文介绍了 业务逻辑层和数据访问层,我认为写博文的作用主要是向业界的读者交流一种思想,点到为止,至于学习架构设计,通过几篇博文是讲不清楚的,还需要[基础]扎实的情况下,[反复]研究[权威]的书籍 ...

  8. Android网络之数据解析----使用Google Gson解析Json数据

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. JSON和GSON操作json数据

    1,JSON操作json import net.sf.json.JSONArray; import net.sf.json.JSONObject; //json操作数据 public static S ...

随机推荐

  1. Python Email发送,通知业务完成

    Email 发送 #!/usr/bin/python # -*- coding: UTF-8 -*- import base64 import smtplib from email.mime.text ...

  2. C++优先队列详解

    转自csdn的文章,仅作为学习笔记.原文链接:https://blog.csdn.net/weixin_36888577/article/details/79937886 普通的队列是一种先进先出的数 ...

  3. linux 下shell 编写脚本

    linux 下shell 编写脚本: 1.程序结构练习:编写一个脚本,给定一个正整数,计算出这个数所有位的数字之和. 例如:程序给定输入123,那么应该返回1+2+3=6. 2.程序结构练习:编写一个 ...

  4. Jenkins 插件中心国内镜像源发布

    以下文章来源于Jenkins,作者LinuxSuRen Jenkins 社区的网络基础设施都是架设在国外的服务器上,而且,并没有在国内有 CDN 或者负载均衡的配置.对所有的 Jenkins 用户而言 ...

  5. 寒假day14

    今天去医院看脸了,回来继续写论文.

  6. this深度面试题2

    var name = "windows" var object = { name:"object", show:function(){ return funct ...

  7. MVPR下的PHP分页教程

    这个PHP分页其实不难,现在就开始看看核心思路吧. 我习惯从最底层开始看起. 1. 首先用LIMIT偏移QUERY的指针 /* * get hot post by current page * @pa ...

  8. CEO、COO、CFO、CTO、CIO是什么意思/?

    CEO Chief Executive Officer 首席执行官 COO Chief Operating Officer 首席运营官 CFO Chief Financial Officer 首席财务 ...

  9. ALAsset

    ALAsset类代表相册中的每个资源文件,可以通过它获取资源文件的相关信息还能修改和新建资源文件,ALAssetRepresentation类代表相册中每个资源文件的详细信息,可以通过它获取资源的大小 ...

  10. UVA 515 差分约束 SPFA判负

    第一次看这个题目,完全不知道怎么做,看起来又像是可以建个图进行搜索,但题目条件就给了你几个不等式,这是怎么个做法...之后google了下才知道还有个差分约束这样的东西,能够把不等式化成图,要求某个点 ...