Gson+GsonFormat+Postman简单粗暴解析json
现在有时候之前的项目需要返回来修改bug看到以下这段代码
if (test != null) {
JSONTokener jsonParser = new JSONTokener(test);
JSONObject data_jo = (JSONObject) jsonParser.nextValue();
String data_str = data_jo.getString("dateMap");
if(!data_str.equals("")){
JSONArray ry = (JSONArray) new JSONTokener(data_str)
.nextValue();
ArrayList<JSONObject> list = new ArrayList<JSONObject>();
/**遍历获取数据Bean*/
for(int i=0;i<ry.length();i++){
JSONObject jo = ry.getJSONObject(i);
/**根据定义好的字段和服务器返回的字段去往对象中set*/
list.add(jo);
}
return list;
}else {
return null;
}
} else {
return null;
}
没错,解析服务器端传回来的json格式数据,是不是脑海中一万头草泥马在奔腾,我保证,这种低效率的日子一去不复返啦,Gson+GsonFormat+Postman让解析JSON变的更愉快啦。
先来说说GSON
维基百科说 Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为序列化Java对象为JSON字符串,或反序列化JSON字符串成Java对象,通俗易懂。
咱们往项目中添加Gson支持(IDE为AS)
点击File -> Project Structure 然后看下图:

接下来我们键入搜索Gson 待搜索结果出来后连续选择点击OK按钮

然后我们去gradler文件中找找

前边是添加Gson 的一种方法,其实咱么可以直接往grader文件中dependencies添加
compile 'com.google.code.gson:gson:2.8.1'
说完Gson说说GsonFormat,经过以上步骤之后,我们就可以在代码中自由切换序列化Java对象和Json字符串啦,例如

或者

但是要是我们在接收服务器字符串之后对着它自己来创建对应的序列化Java对象,要是简单json字符串还行,还是复杂的呢,那效率就太低啦,所以我们需要Gsonformat
点击File -> settings->plugins 搜索GsonFormat,然后重启AS即可,现在让我们测试一下,我们先create一个test.java

然后 鼠标右键->generate->GsonFormat,输入json字符串,点击ok即可


好啦,这时候我们的bean就搞定啦

到此一套流程下来相对于之前,效率已经大大提高啦,但是我们还可以更进一步,想想我们的数据从哪里来的,我们在Android 代码中打断点获取的?那岂不是要累死,一个接口打一次断点,后台开发人员提供的接口文档?要是开发周期短,没来的及提供呢?总不能等着吧,到时候咱们这边拖了进度,怪罪下来不还是咱得扛,这时候Postman就用的上场啦
Postman 是一款功能超级强大的用于发送 HTTP 请求的 Chrome 插件,我们先来看看怎么安装
打开Chrome,点击右上角"≡"-> 更多工具 -> 扩展程序,拉到最下面点击点击获取更多扩展程序

最后我们过来看看怎么使用

拿到上面结果之后,我们再新建一个Java序列化对象,然后GsonFormat,最后你爱gson.toJson()还是gson.FromJson(),你喜欢就好。
Gson+GsonFormat+Postman简单粗暴解析json的更多相关文章
- Spring-MVC配置Gson做为Message Converter解析Json
Spring-MVC配置Gson做为Message Converter解析Json 在学习Spring的时候看到可以使用@RequestBody 和@ResponseBody注解来是的Spring自动 ...
- Qt简单的解析Json数据例子(一)
要解析的json的格式为: { "rootpath": "001", "usernum": 111, "childdep" ...
- 解析Json的谷歌官方方法Gson和阿里巴巴的fastJson方法。
//测试单个json文本 public void testGsonTwo(){ String jsonStr = "{\"id\":100,\"name\&qu ...
- WP8解析JSON格式(使用Newtonsoft.Json包)
DOTA2 WebAPI请求返回的格式有两种,一种是XML,一种是JSON,默认是返回JSON格式. 这里举一个简单的解析JSON格式的例子(更多JSON操作): { "response&q ...
- JavaWeb_(Jar)使用fastjson解析json和序列化对象
菜鸟教程 传送门 JSON官网 传送门 fastjson插件下载 传送门 序列化[百度百科]:序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对 ...
- 【Android进阶】Gson解析json字符串的简单应用
在客户端与服务器之间进行数据传输,一般采用两种数据格式,一种是xml,一种是json.这两种数据交换形式各有千秋,比如使用json数据格式,数据量会比较小,传输速度快,放便解析,而采用xml数据格式, ...
- android 初步了解应用Gson 解析Json数据
1,因为没有服务器返回数据,对于Tomcat又懒得去配,所以我直接把数据写死到app中 先写一个实体类,便于操作 /** * 实体类 */ public class Person { int id ; ...
- 使用Gson解析json
前边的博客说过将json解析成java的方法,使用的是 这几个jar包,但是在解析时层遇到一个问题,就是在将时间字符串转换为java的Timestamp对象时会抛出异常,这个问题一直放在哪里没有去解决 ...
- Android中使用Gson解析JSON数据的两种方法
Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...
随机推荐
- nuget 包管理器
nuget 是.Net平台上的包管理器, 对于包的发布(打包 package)和消费(下载依赖管理)都有很好的支持, 本文仅仅关注消费端, =======================nuget项目 ...
- python测试mysql写入性能完整实例
这篇文章主要介绍了python测试mysql写入性能完整实例,具有一定借鉴价值,需要的朋友可以参考下 本文主要研究的是python测试mysql写入性能,分享了一则完整代码,具体介绍如下. 测试环境: ...
- 免密码登录postgresql
如果在当前shell 下,如果设定 export PGPASSWORD='postgres密码' 环境变量,可以不用每次执行sql 语句或者导入一个sql 文件都输入一次密码的麻烦了.
- K8S 1.14.6中,将kubeadm集群证书颁发时间延长到100年
更改两个文件,重新编译kubeadm. 1,D:\kubernetes-1.14.6\staging\src\k8s.io\client-go\util\cert\cert.go // NewSelf ...
- RSTP基本配置
1.用四台S3700交换机,2台PC机,一台HUB,组建网络拓扑 2.测试主机间的连通性 3.配置rstp基本功能 (1)把交换机stp模式由默认的mstp变为rstp.在华为交换机上默认开启了mst ...
- 攻防世界web之ics-05
本文借鉴以下两篇文章的指导 https://www.jianshu.com/p/5a502873635b https://blog.csdn.net/about23/article/details/9 ...
- js字符串操作总结(必看篇)
本文链接: https://www.jb51.net/article/97915.htm 字符方法 <!DOCTYPE html> <html lang="en" ...
- js支持装饰器
vscode中使用装饰器不报错 { "compilerOptions": { "experimentalDecorators": true } } yarn a ...
- linux常用终端命令
01. 终端命令格式 command [-options] [parameter] 说明: command:命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也 ...
- HikariCP连接池
1.HikariCP连接池是什么? HikariCP是数据库连接池,而且是号称史上最快的,而且目前来看确实是这样的,SpringBoot2.0也已经采用HikariCP作为默认连接池配置. githu ...