首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从app中存储的资源读取JSON响应

从app中存储的资源读取JSON响应
EN

Stack Overflow用户
提问于 2013-11-11 06:10:43
回答 2查看 116关注 0票数 0

我正在从存储在应用程序中的.json文件中读取json响应。这就是我要做的

代码语言:javascript
运行
复制
private String readJSONResponse(){
        InputStream is = getResources().openRawResource(R.raw.json_data);
        Writer writer = new StringWriter();
        char[] buffer = new char[1024];
        try {
            Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            int n;
            while ((n = reader.read(buffer)) != -1) {
                writer.write(buffer, 0, n);
            }
        } 
        catch(Exception e){

        }
        finally {
            try {
                is.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return writer.toString();
    }

当我试图读取文件时,首先是一些数据,比如11-11 11:30:57.789: I/System.out(3200): response that has been readed {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 11-11 11:30:57.789: I/System.out(3200): {\fonttbl\f0\fmodern\fcharset0 Courier;} 11-11 11:30:57.789: I/System.out(3200): {\colortbl;\red255\green255\blue255;} 11-11 11:30:57.789: I/System.out(3200): \margl1440\margr1440\vieww16160\viewh10840\viewkind0 11-11 11:30:57.789: I/System.out(3200): \deftab720 11-11 11:30:57.789: I/System.out(3200): \pard\pardeftab720\ql\qnatural 11-11 11:30:57.799: I/System.out(3200): \f0\fs24 \cf0 \{"status": [\{"response": 13, //this is what is stored in my app

我如何处理这些数据和像‘\’这样的特殊字符(请在响应前检查它)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-11 06:37:28

代码语言:javascript
运行
复制
// try this
1. make "yourfilename.txt" file on your assert folder and put your json respone.
2. now run below code
private String readJSONResponse(){
        Writer writer=null;
        try{
            AssetManager assetManager = getAssets();
            InputStream is = assetManager.open("yourfilename.txt");
            writer = new StringWriter();
            char[] buffer = new char[1024];

            Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            int n;
            while ((n = reader.read(buffer)) != -1) {
                writer.write(buffer, 0, n);
            }
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        catch(Exception e){
            e.printStackTrace();
        }
        return writer.toString();
}
票数 0
EN

Stack Overflow用户

发布于 2013-11-11 06:23:05

代码语言:javascript
运行
复制
InputStream is = getResources().openRawResource(R.raw.test);
BufferedReader br = new BufferedReader(new InputStreamReader(is));

StringBuilder sb = new StringBuilder();
String tempStr = null;

try {
    while ((tempStr = br.readLine()) != null) {
        sb.append(tempStr);
    }
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Log.v("", "JSON DATA is " + sb.toString());

这对我有用。我把test.json文件放在原始文件夹中。确保你的json是有效的。您可以在http://jsonlint.com/上测试json文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19899929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档