Android加载asset下的json文件
2015-08-24 09:49 一切尽在掌握 阅读(1302) 评论(0) 编辑 收藏 举报写成工具类:
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);