写成工具类:
public static String getJson(Context context, String fileName) {
StringBuilder stringBuilder = new StringBuilder();
try {
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();
}
解析json的例子:
public static List<List<TestRowBean>> parseJson(String json) {
List<List<TestRowBean>> beans = new ArrayList<List<TestRowBean>>();
try {
//多个包含多图的数组
JSONArray jArray = new JSONArray(json);
for (int i = 0; i < jArray.length(); i++) {
JSONObject jobj = jArray.getJSONObject(i);
//该数组是包含多图的一个bean
JSONArray jArr =jobj.getJSONArray("pics");
List<TestRowBean> infos = new ArrayList<TestRowBean>();
for (int j = 0; j < jArr.length(); j++) {
JSONObject obj = jArr.getJSONObject(j);
TestRowBean bean = new TestRowBean();
bean.setUrl(obj.getString("url"));
bean.setRow(obj.getInt("row"));
bean.setIndex(obj.getInt("index"));
bean.setHeight(obj.getInt("height"));
bean.setWidth(obj.getInt("width"));
infos.add(bean);
}
beans.add(infos);
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return beans;
}
使用:最好开启子线程
String json = Common.getJson(this, "picgroup.json");
infos = Common.parseJson(json);
adapter.setData(infos);