1、在開發的過程中網絡請求json字元串 解析的時候是很煩惱的,如果有一個快捷友善的自動解析工具可以省下不少時間。這裡将推薦一款非常好用的插件。
2、
打開File -> Setting ->選擇Plugins 然後搜尋 GsonFormat 點選安裝 然後apply -> ok 重新打開AS就可以使用了。
3、使用的時候還需要幾個工具類。
Json.java代碼如下
package com.first.mzy.utils;
/**
* @Company: 杭州先手科技有限公司
* @Created: 2017/7/21
* @Description:
* @version:
*/
import java.util.List;
/**
* TODO: json工具類
*
* @author wy
* @date 2018-6-8 下午3:30:24
*/
public abstract class Json {
private static Json json;
Json() {
}
public static Json get() {
if (json == null) {
json = new GsonImpl();
}
return json;
}
public abstract String toJson(Object src);
public abstract <T> T toObject(String json, Class<T> claxx);
public abstract <T> T toObject(byte[] bytes, Class<T> claxx);
public abstract <T> List<T> toList(String json, Class<T> claxx);
}
GsonImpl.java 代碼如下
package com.first.mzy.utils;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
/**
* @Company: 杭州先手科技有限公司
* @Created: 2017/7/21
* @Description:
* @version:
*/
public class GsonImpl extends Json {
private Gson gson = new Gson();
@Override
public String toJson(Object src) {
return gson.toJson(src);
}
@Override
public <T> T toObject(String json, Class<T> claxx) {
return gson.fromJson(json, claxx);
}
@Override
public <T> T toObject(byte[] bytes, Class<T> claxx) {
return gson.fromJson(new String(bytes), claxx);
}
@Override
public <T> List<T> toList(String json, Class<T> claxx) {
Type type = new TypeToken<ArrayList<T>>() {}.getType();
List<T> list = gson.fromJson(json, type);
return list;
}
}
4、使用方法
建立一個空的java檔案在類中空白處右鍵選擇generate-gsonformat 打開視窗 将伺服器傳回的json字元串粘貼點選ok就可以自動生成相應的方法。如下圖流程
StroeGoodsBean是你自己的bean類
StroeGoodsBean stroeGoodsBean = GsonImpl.get().toObject(response,StroeGoodsBean.class);
這樣就可以快速解析json并擷取到object對象,使用起來是非常的友善的。