Android 解析本地json

读取文本步骤:

1.新建txt文本,把要解析的json数据复制进去。

2.Android工程目录下找到assets文件夹(assets在src/main下面,如果没有就右键main,new--folder--Assets folder,或者右键main, new--Directory,输入assets),把第一步中的txt文本复制到assets路径下

自此完成本地json文件的加载,接下来是解析。我们需要先通过BufferedReader将文本中的内容一行一行读取出来,再使用JsonObject或者Gson进行解析。下面是代码:

//将传入的is一行一行解析读取出来出来
private void readTextFromSDcard() {
    InputStreamReader inputStreamReader;
    try {
        inputStreamReader = new InputStreamReader(getAssets().open("citydata.json"), "UTF-8");
        BufferedReader bufferedReader = new BufferedReader(
                inputStreamReader);
        String line;
        StringBuilder stringBuilder = new StringBuilder();
        while ((line = bufferedReader.readLine()) != null) {
            stringBuilder.append(line);
        }
        inputStreamReader.close();
        bufferedReader.close();
        resultString = stringBuilder.toString();
        Log.i("TAG", stringBuilder.toString());
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
至此,json解析完成。用上面这种方法可以解决乱码问题哦,当初刚开始做的时候也走了很多弯路,希望能对您有所帮助!有错误之处欢迎指出探讨,谢谢!

你可能感兴趣的:(Android 解析本地json)