0
我在保存我的JSONArray時遇到了問題,這是我的遊戲所需要的。 我有2種方法:Android保存JSONArray
public void saveArr(Context c,JSONArray arr,String name){
String fileName = name+"Arr.json";
String data = "";
if (arr != null) {
/*
Convert JSONArray to String
*/
data = arr.toString();
/*
TODO PROBLEM data not compatible with JSONArray
*/
}
FileOutputStream fos;
try {
fos = c.openFileOutput(fileName, Context.MODE_PRIVATE);
fos.write(data.getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
和
public JSONArray getArrJSON(Context c,String name){
StringBuilder sb =null;
JSONObject obj=null ;
JSONArray arr = null;
try {
FileInputStream fis = c.openFileInput(name+"Arr.json");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader bufferedReader = new BufferedReader(isr);
sb = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
sb.append(line);
}
//Here i get an Exception JSONException
obj= new JSONObject(sb.toString());
arr = deck.getJSONArray("arr");
} catch (Exception e) {
e.printStackTrace();
}
return arr;
}
的JSONArray看起來是這樣的:
[
{
"pictures":[
{
"key":"value"
}
],
"name":"name",
"id":"id"
},
{
"pictures":[
{
"key":"value"
}
],
"name":"name",
"id":"id"
}
]
我得到一個例外,我不能發表,因爲我的JSON文件是長... 但是是這條線上的JSONException:
`obj= new JSONObject(sb.toString());`
的方法getArrJSON
我不知道我的錯誤begins.But我認爲一個錯誤IST是:
arr = deck.getJSONArray("arr");
但就像我之前說的例外是在上一行拋出。
好哇,看起來像工作,我跟着一個教程,他們說,這是不可能的:D謝謝你 – greedsin