dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.code.gson:gson:2.8.1'
}
package com.example.wanghailong.gsonutil.Utils;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* Created by wanghailong on 2017/8/15.
* gson解析数据类,支持json to object , json to array , something to json
*/
public class GsonUtil {
public static final String TAG = "mStudentJsonData";
private GsonUtil() {
}
private static class SingleGson {
private static Gson gson = new Gson();
}
private static Gson getInstance() {
return SingleGson.gson;
}
/**************************将Json数据解析成相应的对象**************************/
public static <T> T parseObj(String jsonData, Class<T> type) {
T result = null;
try {
result = getInstance().fromJson(jsonData, type);
} catch (JsonSyntaxException e) {
e.printStackTrace();
}
Log.e(TAG, jsonData + "\n" + (null == result ? "null" : result.toString()));
return result;
}
/*******************将Json数组解析成相应的对象List******************/
public static <T> ArrayList<T> fromJsonList(String json, Class<T> cls) {
ArrayList<T> mList = null;
try {
mList = new ArrayList<T>();
JsonArray array = new JsonParser().parse(json).getAsJsonArray();
for (final JsonElement elem : array) {
mList.add(getInstance().fromJson(elem, cls));
}
} catch (JsonSyntaxException e) {
e.printStackTrace();
}
return mList;
}
/***********************将Map解析成相应的json*************************/ public static <T> String toJson(Map<String, T> map) { String jsonData = null; try { jsonData = getInstance().toJson(map); } catch (Exception e) { e.printStackTrace(); } Log.e(TAG, jsonData); return jsonData; } /***********************将List解析成相应的json*************************/ public static String toJson(List<?> list) { try { return getInstance().toJson(list); } catch (Exception e) { e.printStackTrace(); return null; } } /***********************将具体类解析成相应的json*************************/ public static String toJson(Object object) { try { return getInstance().toJson(object); } catch (Exception e) { e.printStackTrace(); return null; } }}
gson 解析json
最新推荐文章于 2020-12-03 09:35:11 发布