当前位置: 首页 > 图灵资讯 > Java开发> 【Java开发工具】gson-plugin 辅助 Gson 库的 Gradle 插件

【Java开发工具】gson-plugin 辅助 Gson 库的 Gradle 插件

来源:图灵教育
时间:2023-03-09 09:35:25

  软件简介

  gson-plugin是一种Android-JSON解析的插件,解决Android-JSON解析数据类型转换异常,不影响GSON库的使用。

  gson-plugin依赖sdk:https:/Github.com/lianjiatech/gson-plugin-sdk。

  诞生背景

  Android的主要开发语言是Java,属于强数据型语言,很多公司的后台开发都是PHP,属于弱数据型语言。

  在数据传输过程中,客户端和服务器往往因为某个字段的数据类型不一致而失败,导致整个页面的数据无法显示。

  功能描述

  1.当某个字段分析失败时,跳过该字段继续分析其他字段,以确保显示其他正常数据。

  2.当某个字段分析失败时,通过观察者模式抛出异常,开发人员可以在收到异常后进行相应的处理(如将异常日志上传到服务器,然后推动服务器RD解决方案)。

  3.不影响Gson库的使用。

  接入方法

  1.工程根目录加入repositories。

  buildscript

  repositoriss

  /jitpack

  }

  }

  alprojects

  repositoriss

  /jitpack

  }

  }

  2.工程根目录build.gradle加入Classpath。

  dendence

  claspathcom

  }

  3.工程app目录build.gradle加入依赖。

  plugin:

  4.可选调用(监听异常json字段,建议收到后上报服务器)

  Readertols。

  @overide。

  (stringexception,Stringonstack){

  //uploaderorinfotoserver。

  Log.e(“test”,“jsonsyntaxexception”;

  Log.e(test)

  }

  });

  5.添加混淆keep。

  -kepclascom。

  -kepclascom。

  性能对比

  2000次循环分析:

  plicsstestbean

  publicstringame;

  publicintage;

  publicstringsex;

  publicbooleanis_sucess;

  publicstring[]aray;

  publiclistlist;

  publicMapp;

  publictestbeanbean;

  }

  使用原生gson结果:

  第一次:1374ms,第二次:1430ms,第三次:1429ms,平均:1411ms。

  使用gson-plugin结果:

  第一次:1503ms,第二次:1381ms,第三次:1418ms,平均1434ms。

  结论:

  与原生gson分析相比,gson-plugin效率略低(多执行几行判断逻辑代码),但可忽略不计。

  原理说明

  侵入编译过程,在编译过程中,修改gson库的字节码,修改gson分析的相关方法。

  支持gson库版本。

  支持gson库的所有版本。

  特殊说明

  2.1.0之前的版本对Float、Double、Map数据类型的支持不全面,建议使用2.1.0以上的版本。