Android读取assets本地json文件+原生解析
2019-07-20 本文已影响0人
我挺平凡
一、Json字符串格式
image.png二、代码实现
try {
AssetManager assetManager = getAssets(); //获得assets资源管理器(assets中的文件无法直接访问,可以使用AssetManager访问)
InputStreamReader inputStreamReader = new InputStreamReader(assetManager.open("bank.json"),"UTF-8"); //使用IO流读取json文件内容
BufferedReader br = new BufferedReader(inputStreamReader);//使用字符高效流
String line;
StringBuilder builder = new StringBuilder();
while ((line = br.readLine())!=null){
builder.append(line);
}
br.close();
inputStreamReader.close();
JSONObject testJson = new JSONObject(builder.toString()); // 从builder中读取了json中的数据。
// 直接传入JSONObject来构造一个实例
JSONArray array = testJson.getJSONArray("banks");
Log.e("banks",array.toString());
for (int i = 0;i<array.length();i++){
JSONObject jsonObject = array.getJSONObject(i);
String text = jsonObject.getString("text");
String value = jsonObject.getString("value");
Log.e("tag", "initData: "+text+value);
}
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}