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();
        }

三、打印结果

image.png
上一篇下一篇

猜你喜欢

热点阅读