除了用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. OpenResty从入门到开发一个网关服务(使用etcd作为注册中心)

    简介 OpenResty(也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 通过揉和众多设计良 ...

  2. python数据拼接: pd.concat

    1.concat concat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合 pd.concat(objs, axis=0, join='outer', join_axes=Non ...

  3. AJAX(阿贾克斯)的简单应用

    1.ajax 对象的属性说明(常用的) (1)open(method,url,boolean);创建请求,method :填请求类型(get post),url :请求的地址, boolean:tru ...

  4. Python Scrapy的QQ音乐爬虫 音乐下载、爬取歌曲信息、歌词、精彩评论

    QQ音乐爬虫(with scrapy)/QQ Music Spider UPDATE 2019.12.23 已实现对QQ音乐文件的下载,出于版权考虑,不对此部分代码进行公开.此项目仅作为学习交流使用, ...

  5. (转)out.writer和out.print

    JSP中out.write()和out.print()的区别 out对象的类型是JspWriter.JspWriter继承了java.io.Writer类. 1)print方法是子类JspWriter ...

  6. 《打造扛得住的MySQL数据库架构》第4章 MySQL数据库结构优化

    4-1 数据库结构优化介绍 良好的数据库逻辑设计和物理设计是数据库获得高性能的基础. 1.减少不必要的数据冗余. 2.尽量避免数据维护中出现更新,插入和删除异常. 插入异常:如果表中的某个实体随着另一 ...

  7. E - Tokitsukaze and Duel CodeForces - 1190C (博弈 + 窗体移动)

    "Duel!" Betting on the lovely princess Claris, the duel between Tokitsukaze and Quailty ha ...

  8. 黑客攻防技术宝典web实战篇:测试后端组件习题答案

    随书答案. 某网络设备提供用于执行设备配置的 Web 界面.为什么这种功能通常易于受 到操作系统命令注入攻击? 用于配置网络设备的应用程序通常包含使用正常的 Web 脚本 API 无法轻松实 现的功能 ...

  9. Cisco连接失败问题处理

    连接公司的VPN时软件一直安装不上,试了几种方法,在此总结. 原文链接:http://www.itsystemadmin.com/error-27850-unable-to-manage-networ ...

  10. AES加密中遇到的坑

    项目背景: 终端数据需要上传到后台,为了安全,使用了AES加密 问题1: 数据首先经过了protobuf进行格式,数据传输到后台无法解析 解决:二进制数据直接进行AES加密后大多无法正常解析,于是在加 ...