Java 从文本文件创建JSONObject
我试图在Android应用程序中读取一个文本文件并创建一个JSONObject,但是在将文本文件读入字符串后,当我尝试使用该字符串构造JSONObject时,会抛出一个JSONException 以下是我正在使用的代码:Java 从文本文件创建JSONObject,java,android,json,Java,Android,Json,我试图在Android应用程序中读取一个文本文件并创建一个JSONObject,但是在将文本文件读入字符串后,当我尝试使用该字符串构造JSONObject时,会抛出一个JSONException 以下是我正在使用的代码: InputStream is = this.getResources().openRawResource(R.raw.quiz); BufferedReader reader = new BufferedReader(new InputStreamReader(is))
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;
下面是我正在阅读的文本文件quick.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;
}
异常中是否包含消息(
e.getMessage()
)?是否尝试将答案(数字)用引号括起来?我检查了e.getMessage()的值,并找到了问题所在。谢谢