1. 封裝的工具類JsonGetUtils
package com.mytest.util;
import android.content.Context;
import android.content.res.AssetManager;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class JsonGetUtils {
/**
* 讀取assets本地json
* @param fileName
* @param context
* @return
*/
public static String getJson(String fileName, Context context) {
//將json數據變成字符串
StringBuilder stringBuilder = new StringBuilder();
try {
//獲取assets資源管理器
AssetManager assetManager = context.getAssets();
//通過管理器打開文件並讀取
BufferedReader bf = new BufferedReader(new InputStreamReader(
assetManager.open(fileName)));
String line;
while ((line = bf.readLine()) != null) {
stringBuilder.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return stringBuilder.toString();
}
}
2. 判斷是否是json文件
string應該1(getJson)中的返回值
public static boolean isJson(String content){
if (TextUtils.isEmpty(content)){
return false;
}
try {
Gson gson = new Gson();
gson.fromJson(content, JsonObject.class);
return true;
}catch (Exception e){
return false;
}
}
3. 解析使用
String jsonString = JsonGetUtils.getJson("testjson.json",context);
Gson mGson = new Gson();
<T> T = mGson.fromJson(jsonString, classOfT);