簡體   English   中英

從文本文件創建JSONObject

[英]Creating JSONObject from text file

我試圖讀取文本文件並在Android應用程序中創建JSONObject,但是在將文本文件讀取為字符串后,嘗試使用該字符串構造JSONObject時會拋出JSONException。

這是我正在使用的代碼:

InputStream is = this.getResources().openRawResource(R.raw.quiz);
    BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
    String jsString = "";
    String line = null;
    while((line = reader.readLine()) != null){
        jsString += line;
    }
    is.close();
    reader.close();

    try {
        return new JSONObject(jsString);
    } catch (JSONException e) {

    }
    return null;  

這是我正在閱讀的文本文件quiz.txt:

{"length":3,"questions":[{"questionText":"Is mayonaise an instrument?","answers":["Yes","no","no","no","no"],"correctAnswer":0},{"questionText":"10^2","answers":["1","10","100","1000","over 9000"],"correctAnswer":1},{"questionText":"Dogs Name?","answers":["Barky","Steve","Rex","Daisy","Wormy"],"correctAnswer":3}]}

嘗試使用此方法將文件內容讀取為字符串。

 public static String getJsonFromResource( int resource, Context context ) {

        InputStream inputStream = context.getResources().openRawResource( resource );
        BufferedReader r = new BufferedReader( new InputStreamReader( inputStream ) );
        StringBuilder stringBuilder = new StringBuilder();
        String line;
        String jsonString = null;
        try {
            while (( line = r.readLine() ) != null) {

                stringBuilder.append( line );
            }
            jsonString = stringBuilder.toString();
        }
        catch (Exception e) {
            Log.e( "GetJsonFromResource", Log.getStackTraceString( e ) );
        }
        return jsonString;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM