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更高的 ...
随机推荐
- netcore之RabbitMQ入门
简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息中间件,基于Erlang语言编写. AMQP是什么 AMQP 0-9-1(高级消息队列协议)是一种消息传递协议,它允许一致的客户端应 ...
- [视频教程] 包管理器方式安装使用openresty新手上路
OpenResty是一个通过Lua扩展Nginx实现的可伸缩的Web平台,内部集成了大量精良的Lua库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态Web应用.Web ...
- CAS你知道吗?原子类AtomicInteger的ABA问题谈谈?
(1)CAS是什么? 比较并交换 举例1, CAS产生场景代码? import java.util.concurrent.atomic.AtomicInteger; public class CA ...
- c# 第25节 方法重载
本节内容: 1:方法重载简介 2:方法重载的实现实例 1:方法重载简介 2:方法重载的实现实例 决定方法是否构成重载有三个条件: 1:在同一个类中 2:方法名相同 3:参数列表不同 实例例子: 实现:
- 面向对象程序设计(Java) 第7周学习指导及要求
2019面向对象程序设计(Java)第7周学习指导及要求 (2019.10.11-2019.10.14) 学习目标 掌握四种访问权限修饰符的使用特点: 掌握Object类的用途及常用API: 掌握Ar ...
- 《为什么说Redis是单线程的以及Redis为什么这么快!》
为什么说Redis是单线程的以及Redis为什么这么快! 一.前言 近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”.什么是“热数据和冷数据”,复杂一点的会问到缓 ...
- zz自动驾驶复杂环境下高精度定位技术
今天为大家分享下,自动驾驶在复杂环境下的高精度定位技术. 定位/导航负责实时提供载体的运动信息,包括载体的:位置.速度.姿态.加速度.角速度等信息. 自动驾驶对定位系统的基本要求: 1. 高精度:达到 ...
- 第七章 确保Web安全的HTTPS
第七章 确保Web安全的HTTPS 使用HTTPS通信机制可以有效防止信息窃听或身份伪装等安全问题. 1.HTTP缺点 [通信使用明文(不加密)]:内容容易被窃听. 加密处理防止被窃听.根据加密的对象 ...
- 合并K个有序数组-Java
package com.rao.algorithm; import java.util.Arrays; /** * @author Srao * @className MergeK * @date 2 ...
- [2019BUAA软工助教]助教学期总结
[2019BUAA软工助教]助教学期总结 一.量化自评 线上 博客点评:https://www.cnblogs.com/ChildishChange/MyComments.html 共 106 条 博 ...