Eclipse 插件 FsonFormat 一键解决复杂JSON ,快速实现JavaBean
简介
当开发人员或者测试人员在开发或者测试接口中,去获取到接口返回的结果值时,都要通过JSONObject和JSONArray解析json结构,然后再通过For循环遍历相应的Key,最后把value值进行App展示或者校验是否预期结果,编写的代码较多,如果返回的结果结构相对复杂(多层结构,对象套数组,数组套对象,对象套对象等等数据结构),那么使用For循环以及IF使用的话,代码量则是以2的米次方码的。所以为了解决这个问题而开发出的这款插件,一键解决复杂JSON ,快速实现JavaBean,而不再需要多层嵌套for循环来获取,这样开发人员或者测试人员就很大程度上减少了编码量,使得代码变得更加简洁。
作用FsonFormat是一款专为Eclipse打造的快速解析json的插件
根据Json库使用的要求,将JSON结构格式解析成实体类
一键解决复杂JSON ,快速实现JavaBean
一句话就可以将复杂的JSON数据解析成相应的Bean对象。
JavaBean javaBean=gson.fromJson(jo.toString(),JsonBean.class)
应用范围
项目开发
App开发
接口测试
只要涉及到接口相关的都可以应用FsonFormat插件。
适用人群
开发人员
测试人员
功能介绍
调用方式
FsonFormat提供了5种方式调用
界面菜单栏增加了FsonFormat menu菜单项里点击即可调出插件界面
工具栏增加了FsonFormat 工具快捷方式
java文件右键弹出菜单,即可以看到FsonFormat选项
在编辑区域右键弹出菜单,即可以看到FsonFormat选项
Alt+insert-->Fsonformat
自定义个javabean(就是新建一个名字最好带bean的无内容的class文件),通过上面5种方式调用FsonFormat(或者直接按alt+insert键[Window]),然后将JSON数据复制到该框框内。点击Format可以查看格式化后的效果。
Demo
以一个这样返回结果的演示一下,来JSONObject解析 和 FsonFormat插件对比效果
{"company":"zhuanzhuan","numbers":720,"peopleArray":[{"name":"fzg","Sex":true,"address":[{"city":"天津","country":"蓟县"}]},{"name":"lw","Sex":false,"address":[{"city":"东北","country":"吉林"}]}]}
之前我们常用JSONObject解析步骤
String testJsonStr = "{\"company\":\"zhuanzhuan\",\"numbers\":720,\"peopleArray\":[{\"name\":\"fzg\",\"Sex\":true,\"address\":[{\"city\":\"天津\",\"country\":\"蓟县\"}]},{\"name\":\"lw\",\"Sex\":false,\"address\":[{\"city\":\"东北\",\"country\":\"吉林\"}]}]}";
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
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
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);
}
}一句话就可以将复杂的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插件调用就非常简洁了,而且可以单独调用某一个去验证,不用再去写一堆代码了,体现出它高内聚低耦合设计理念。
主界面介绍
生成query实体类实现
根据接口返回结果的数据结构生成对应的java实体类
{
"company": "zhuanzhuan",
"numbers": 720,
"peopleArray": [{
"name": "fzg",
"Sex": true,
"address": [{
"city": "天津",
"country": "蓟县"
}]
},
{
"name": "lw",
"Sex": false,
"address": [{
"city": "东北",
"country": "吉林"
}]
}
]
}
对于不了解工具使用的人提供了接口测试代码生成界面
点击generating code会自动生成测试接口代码testQueryBean文件,显示了该接口所有key调用方式
FsonFormat插件可以随时修改数据类型映射到类文件里
修改前
修改后
智能纠错
安装
插件地址: 插件已上传该到附件里了,在文章的最下方 Plugin_fsonformat_site.zip
安装过程
Eclipse->Help->Install New Software.., 具体步骤如下图
Tips
Idea或Android studio已经有了类似插件名为GsonFormat,网上也有众多资源关于此插件的使用,FsonFormat是为了Eclipsse工具而开发,实现了GsonFormat所有功能的基础之上,同时又实现一些其他功能。
FsonFormat专为使用Eclipse工具的开发人员或测试人员开发的一款插件。