现在有时候之前的项目需要返回来修改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的更多相关文章

  1. Spring-MVC配置Gson做为Message Converter解析Json

    Spring-MVC配置Gson做为Message Converter解析Json 在学习Spring的时候看到可以使用@RequestBody 和@ResponseBody注解来是的Spring自动 ...

  2. Qt简单的解析Json数据例子(一)

    要解析的json的格式为: { "rootpath": "001", "usernum": 111, "childdep" ...

  3. 解析Json的谷歌官方方法Gson和阿里巴巴的fastJson方法。

    //测试单个json文本 public void testGsonTwo(){ String jsonStr = "{\"id\":100,\"name\&qu ...

  4. WP8解析JSON格式(使用Newtonsoft.Json包)

    DOTA2 WebAPI请求返回的格式有两种,一种是XML,一种是JSON,默认是返回JSON格式. 这里举一个简单的解析JSON格式的例子(更多JSON操作): { "response&q ...

  5. JavaWeb_(Jar)使用fastjson解析json和序列化对象

    菜鸟教程 传送门 JSON官网 传送门 fastjson插件下载 传送门 序列化[百度百科]:序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对 ...

  6. 【Android进阶】Gson解析json字符串的简单应用

    在客户端与服务器之间进行数据传输,一般采用两种数据格式,一种是xml,一种是json.这两种数据交换形式各有千秋,比如使用json数据格式,数据量会比较小,传输速度快,放便解析,而采用xml数据格式, ...

  7. android 初步了解应用Gson 解析Json数据

    1,因为没有服务器返回数据,对于Tomcat又懒得去配,所以我直接把数据写死到app中 先写一个实体类,便于操作 /** * 实体类 */ public class Person { int id ; ...

  8. 使用Gson解析json

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

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

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

随机推荐

  1. FastJSON使用例子

    FastjsonTest.java package demo; import java.util.ArrayList; import java.util.Date; import java.util. ...

  2. Python—文件读写操作

    初识文件操作 使用open()函数打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了,根据打开文件的方式不同能够执行的操作也会有相应的差异. 打开文件的方式: r, w, a, ...

  3. Linux-TCP之深入浅出send和recv【转】

    转自:https://www.cnblogs.com/JohnABC/p/7238417.html 内容摘自:TCP之深入浅出send和recv.再次深入理解TCP网络编程中的send和recv 建议 ...

  4. Oracle 双机热备+双机冷备+负载均衡

    引用地址:https://wenku.baidu.com/view/7cca62f1ddccda38366baf7f.html SQL Server 2008 R2双机热备 引用地址:https:// ...

  5. Xshell使用教程

    Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议.Xshell 通过互联网到远程主机的安全连接以及它创新性的设 ...

  6. 6、zabbix自定义监控

    一.概述 为什么需要自定义监控呢? 虽然zabbix已经给我们准备好了很多的模板,但是有的东西还是无法监控,这时候就要我们自定义监控了. 自定义监控的思路? 比如我们现在想要监控这个值,如下所示,模板 ...

  7. ubuntu系统中查看python模块的源码

    案例:查看multiprocessing模块源码 1. 进入交互模式,导入模块,以multiprocessing模块为例 2. 查看multiprocessing.__file__属性,找到该模块的源 ...

  8. [C11] 推荐系统(Recommender Systems)

    推荐系统(Recommender Systems) 问题阐述(Problem Formulation) 将 推荐系统 纳入这门课程来讲有以下两个原因: 第一.仅仅因为它是机器学习中的一个重要的应用.在 ...

  9. C++ class 外的 ++ 重载,左++,右++,重载示例。

    #include <iostream> // overloading "operator ++ " outside class // ++ 是一元操作符 /////// ...

  10. 微信小程序云开发-从0打造云音乐全栈小程序

    第1章 首门小程序“云开发”课程,你值得学习本章主要介绍什么是小程序云开发以及学习云开发的重要性,并介绍项目的整体架构,真机演示项目功能,详细介绍整体课程安排.课程适用人群以及需要掌握的前置知识.通过 ...