首先 转载自http://www.cnblogs.com/androidsuperman/p/4579249.html     感谢 @西北野狼  同学。

第一部分: GsonFormat 插件基本使用方法

很久以前写json解析用原始的解析json的方法,后来为了加快开发进度,开始使用gson,fastjson等第三方jar包来进行json解析,为了保持apk足够小,不因为引入jar包导致apk文件过大,选择使用gson来加速json解析,当然,去年androidstudio 1.0版本出来,很多人开始使用androidstudio,当然studio有很多方便开发的插件加速应用的开发,减少开发者的劳动力。

今天推荐个工具就是:gsonformat

下载地址:

用过后表示,怎么这么酸爽的呢,哈哈

安装流程:

Setting-->plugins-->

使用:

自定义个javaBean(无任何内容,就一个空的类)

首先复制你要解析的json

然后alt+insert弹出如下界面

粘贴到如下界面:

点击ok,自动生成对应javaBean的语句:

然后就是根据json来进行json to bean的转换了

提供两工具类:

1 import java.util.List;

2 /**

3 * TODO: json工具类

4 *

5 * @author soyoungboy

6 * @date 2014-11-8 下午2:32:24

7 */

8 public abstract class Json {

9 private static Json json;

10 Json() {

11 }

12 public static Json get() {

13 if (json == null) {

14 json = new GsonImpl();

15 }

16 return json;

17 }

18 public abstract String toJson(Object src);

19 public abstract T toObject(String json, Class claxx);

20 public abstract T toObject(byte[] bytes, Class claxx);

21 public abstract List toList(String json, Class claxx);

22 }

1 public class GsonImpl extends Json {

2 private Gson gson = new Gson();

3 @Override

4 public String toJson(Object src) {

5 return gson.toJson(src);

6 }

7 @Override

8 public T toObject(String json, Class claxx) {

9 return gson.fromJson(json, claxx);

10 }

11 @Override

12 public T toObject(byte[] bytes, Class claxx) {

13 return gson.fromJson(new String(bytes), claxx);

14 }

15 @Override

16 public List toList(String json, Class claxx) {

17 Type type = new TypeToken>() {}.getType();

18 List list = gson.fromJson(json, type);

19 return list;

20 }

21 }

然后就是一句话,完美解析json了:

1 JavaBean bean =GsonImpl.get().toObject(json,JavaBean.class);

完美解析json就是这么简单,就是这么酸爽。

解析json的工具类来自lite君的github的轮子代码。

https://github.com/litesuits/android-lite-http/tree/master/library/src/com/litesuits/http/data

第二部分:使用GsonFormat 解析  和风天气接口数据

和风天气:http://www.heweather.com/     每日3000次访问量,对我们业余爱好者足够了,拿来做个天气预报DEMO不错。

首先是从和风天气获得的天气数据,Jason 格式, 放到 jason.parse.online.fr上看是这样的:

但是!!!!!    按照第一部分的方法,个Jason  数据复制进去,点OK 你会发现它提示   Parse err!   为什么了,因为这个和风天气奇葩的Jason数据,第一个KEY是 "HeWeather data service 3.0" ,,这里的 空格、“.”都是不合法的,导致它解析不出对应得实体类。    那怎么办了?

首先,解析的时候直接 把接口方法的Jason数据(上图左边部分) 的第一行,第一个KEY,也就是    "HeWeather data service 3.0" 替换成 "HeWeatherdataservice",去掉空格以及3.0, 复制进GsonFormat插件的粘贴板,点击OK,你会发现解析成功了。

然后,把网页返回的Json原始数据也做上述 处理,再解析。  实体类 和 要解析的数据当然要保持一致对吧~

这里我用了 StringBulder的 deleteCharAt 方法,按照字符串的下标把空格和 “3.0”去掉了,,然后, 用第一张说的一行代码,Json解析搞定~~~  调试看我的weatherBean  这个对象里,数据都已经乖乖的在那里了!!

总结:搞了我好半天,这个格式不规范的Jason数据,不过也算找到了 处理方法,接口得到的Jason数据要是不规范,可以先自己处理成规范的格式,,用JasonFormat插件进行解析,然后程序里在HTTP方式获取到Jason  String后,也用代码处理成一样的格式。  这样,实体类和Jason String对应起来,格式一致。  接下来,就是一行代码搞定的事了 。。。。。是不是 从此Json 解析都能2分钟搞定呢???~~~  喜欢请点赞!

android 和风天气 调用示例,Android中 GsonFormat插件解析Jason 数据+和风天气接口解析案例(示例代码)...相关推荐

  1. layui进度条:调用、参数设置、动态渲染、数据热更新 (含案例、代码)

    文章目录 layui进度条:调用.参数设置.动态渲染.数据热更新 (含案例.代码) 一.demo案例 1.1. 应用 · 截图: 1.2. 案例 · 全部代码: 二.自定义案例 2.1. 部分代码: ...

  2. idea 搜索不到gsonformat_Idea中GsonFormat插件安装

    这个教不的期是范添事大部会基近说小间进围砖本的程主要是学习IntelliJ IDEA 如何通过GsonFormat插件将JSONObject格式的String 支器事的后功发久这含层请间业在屏有随些气 ...

  3. Idea中GsonFormat插件安装

    插件地址:https://plugins.jetbrains.com/idea/plugin/7654-gsonformat 这个教程主要是学习IntelliJ IDEA 如何通过GsonFormat ...

  4. [carla入门教程]-3 在carla中遥控汽车并采集传感器数据(一个简单Demo,附代码)

    本专栏教程将记录从安装carla到调用carla的pythonAPI进行车辆操控并采集数据的全流程,带领大家从安装carla开始,到最终能够熟练使用carla仿真环境进行传感器数据采集和车辆控制. 第 ...

  5. 怎么解析Json数据,然后把解析到的Json数据填充到布局中?

    一.首先把需要解析的Json数据如下所示: {"res_code": 0,"res_error": "","res_body&qu ...

  6. android jni java调用c,Android与JNI(一) ---- Java调用C 静态调用

    第一.通过eclipse新建一个工程名为HelloJni的android工程,并编译. 第二.右键工程-->Android Tools --> Add Native Support,出现如 ...

  7. android jni c调用java,Android学习JNI,使用C调用JAVA语言

    本节学习使用C语言调用JAVA语言.在生活中比如我们某些底层的硬件必须使用C语言去编写,当C语言返回的某些数值显示在界面上时,就比如使用JNI.这样可以将C返回的值显示在界面上. 本节模拟传感器返回的 ...

  8. php在html中无法解析json数据,json字符串无法解析的问题

    就是我做了一个PHP接口,返回的数据是json格式(数据格式没问题,且编码是utf8格式):但调用时无法解析这个json格式的数据,但我把返回的数据复制成字符串,就可以解析了.找了半天,发现在输出的源 ...

  9. android java 调用js,Android中Java和JavaScript交互实例

    Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本.本文将介绍如何实现Java代码和Javascript代码的相互调用. 如 ...

最新文章

  1. HDU1533(最小权完美匹配)
  2. 阿里飞猪个性化搜索排序探索实践
  3. 机器学习——大数据与MapReduce
  4. C++中mutable、volatile关键字
  5. SpringBoot 自定义starter 保姆级教程(说明+源码+配置+测试)
  6. Ecshop中的ajax+json
  7. ROS-Rtabmap:linux shell运行多个shell(运行多个程序)
  8. Apache MiNa 2 学习笔记
  9. WOS/EI/SCOPUS 三大文献检索数据库区别你了解吗?
  10. jquery下载教程,Juery3.0框架使用案例以及基础语法;
  11. Vue--创建一个vue项目
  12. 汉客儿2019支付宝加密红包设计思路
  13. 什么叫共同富裕,刘强东给老板们打了个样
  14. Single-Stage 6D Object Pose Estimation——6D姿态估计
  15. HTC Android系统 自定义ROM定制图文教程
  16. matlab 画 带虚部,MATLAB1:求实部、虚部、模和幅角的运算
  17. 评价指标 balanced accuracy
  18. java编程50_荐非常经典的java编程题全集-共50题(1-10)...
  19. idea提示未找到包,实际上包存在 问题解决
  20. 社保包括哪些保险?社保和五险一金有什么区别?

热门文章

  1. 一篇弄懂 scrollWidth、scrollHeight、scrollLeft和scrollTop的区别!(2)
  2. php中enctype属性,Form表单的enctype属性和method属性
  3. svg地球昼夜交替动画js特效
  4. error: expected declaration specifiers or ‘...’ before numeric constant
  5. 机器理解大数据的秘密:聚类算法深度详解
  6. 浙江省计算机二级vb考试提纲,浙江省大学生计算机等级考试二级(VB)考试大纲.doc...
  7. 长兴鸿蒙母亲节,祝湖北省枣阳市所有的母亲”母亲节”快乐!
  8. (十)stacking 简介
  9. Vue项目更丝滑的几个小技巧
  10. tomcat安装教程及问题解析