简介
当开发人员或者测试人员在开发或者测试接口中,去获取到接口返回的结果值时,都要通过JSONObject和JSONArray解析json结构,然后再通过For循环遍历相应的Key,最后把value值进行App展示或者校验是否预期结果,编写的代码较多,如果返回的结果结构相对复杂(多层结构,对象套数组,数组套对象,对象套对象等等数据结构),那么使用For循环以及IF使用的话,代码量则是以2的米次方码的。所以为了解决这个问题而开发出的这款插件,只需要通过...(点点点)的形式就可以拿到你想要获得到的value(一行代码即可)值,而不再需要多层嵌套for循环来获取,这样开发人员或者测试人员就很大程度上减少了编码量,使得代码变得更加简洁。
作用
1、FsonFormat是一款专为Eclipse打造的快速搞定JSON数据解析的插件,根据Gson库使用的要求,将JSON结构格式解析成实体类,通过对象(点点点)来直接调用方法。
2、FsonFormat插件采用高内聚低耦合设计模式。
应用范围
1、项目开发
2、App开发
3、接口测试
只要涉及到接口相关的都可以应用FsonFormat插件。
FsonFormat 插件 下载地址
https://download.youkuaiyun.com/download/fzg1234567890/10277400
插件安装,在文章下面,有图解展示如何在Eclispe安装此插件
适用人群
1、开发人员
2、测试人员
功能介绍
1、JSON转Java实体类
2、JSON格式化功能
3、自动分辨java项目和maven项目生成对应的代码
4、支持修改JSON字段类型功能
5、代码高亮显示(以不同颜色代表不同的类型)
6、测试接口代码生成DEMO功能
7、支持打开文件目录功能
8、导出JSON格式json文件(用来mock接口)
9、获取当前IP地址
10、支持eclispe快捷键
11、智能JSON纠错
调用方式
FsonFormat提供了5种方式调用(如图)
1、界面菜单栏增加了FsonFormat menu菜单项里点击即可调出插件界面
2、工具栏增加了FsonFormat 工具快捷方式
3、java文件右键弹出菜单,即可以看到FsonFormat选项
4、在编辑区域右键弹出菜单,即可以看到FsonFormat选项
5、快捷键 Alt+insert-->Fsonformat
Demo
以一个这样返回结果的例子,演示一下,用JSONObject解析 和 FsonFormat插件对比效果
{"company":"QQ","numbers":"720","peopleArray":[{"name":"fffggg","Sex":true,"address":[{"city":"eee","country":"sds"}]},{"name":"lw","Sex":false,"address":[{"city":"sss","country":"eee"}]}]}之前的解析是用JSONObject以及JSONArray解析步骤
JSONObject object = new JSONObject(testJsonStr);
System.out.println(object.get("company").toString());
System.out.println(object.get("numbers").toString());
JSONArray array = (JSONArray) object.get("peopleArray");
for(int i=0;i<array.length();i++){
JSONObject key = (JSONObject)array.get(i);
String name = key.get("name").toString();
String sex = key.get("Sex").toString();
System.out.println("get peopleArray name = "+name);
System.out.println("get peopleArray sex = "+sex);
JSONArray addressArray = (JSONArray)key.get("address");
for(int j=0; j<addressArray.length();j++){
JSONObject addressKey = (JSONObject)addressArray.get(j);
String city = addressKey.get("city").toString();
String country = addressKey.get("country").toString();
System.out.println("get peopleArray address city = "+city);
System.out.println("get peopleArray address country= "+country);
}
}
再来看看FsonFormat解析步骤
一句话就可以将复杂的JSON数据解析成相应的Bean对象
Query query = new Gson().fromJson(testJsonStr,Query.class);
query.getCompany()
query.getNumbers()
query.getPeopleArray().get(0).getName()
query.getPeopleArray().get(0).getSex()
query.getPeopleArray().get(0).getAddress().get(0).getCity()
query.getPeopleArray().get(0).getAddress().get(0).getCountry()
对比效果显而意见,FsonFormat插件调用就非常简洁了,而且可以单独调用某一个去验证,不用再去写一堆代码了,体现出它高内聚低耦合设计理念。
主界面介绍
接口测试代码生成界面
点击generating code会自动生成测试接口代码testQueryBean文件,显示了该接口所有key使用方式
当我们想保存json数据用来mock时,插件也为用户提供了导出json文件功能,目录为当前javabean类文件的目下 ,如图
操作-》export json选项
Json文件路径保存在当前类文件目录下
FsonFormat插件可以随时修改数据类型映射到类文件里
修改前
修改后
智能纠错
安装过程,视图演示
其他功能就暂无介绍了,在使用中寻找快乐。
Tips
Idea或Android studio已经有了类似插件名为GsonFormat,网上也有众多资源关于此插件的使用,FsonFormat是为了Eclipsse工具而开发的,实现了GsonFormat所有功能的基础之上,同时又实现一些非常好用的功能。
FsonFormat专为使用Eclipse工具的开发人员或测试人员开发的一款插件。
那位回复者,数组不能套数组的,数组套对象是可以的,请看我给你的截图
java 转 json