2016-08-13 18 views
0

JSONArray得到更換的每個值插入JSONArray和ArrayList得到更換的每個值插入

在這下面的輸出,我越來越老被替換jArrayFacebookData。

或者我需要這些JSON數據應該添加到字符串

dbchooseuserid,dbchoosebookid,dbchoosechapterid,dbchoosequestionid,類型,dbchooseoptionidthose衣被合計是從數據庫中使用這些值我需要JSON字符串

我需要輸出這樣

string h =[{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"hint","question_id":"1","notes":",,Gg,,,,"},{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"choose","question_id":"1","option_id":"1"}] 

這是我的代碼

JSONArray jArrayFacebookData = new JSONArray(); 
     JSONObject jObjectData = new JSONObject(); 


ArrayList<String> a= new ArrayList<String>(); 
if(TypeHint.equals("hint")) 
     { 
    try { 
         jObjectData.put("user_id", dbhintuserid); 
         jObjectData.put("book_id", dbhintbookid); 
         jObjectData.put("chapter_id", dbhintchapterid); 
         jObjectData.put("question_type", TypeHint); 
         jObjectData.put("question_id", dbhintquestionid); 
         jObjectData.put("notes", dbhintnotes); 

         jArrayFacebookData.put(jObjectData); 
         Log.i("tag555", ""+jArrayFacebookData.toString()); 
a.add(jObjectData.toString()); 
     Log.i("tag5", ""+a); 

        } catch (JSONException e) { 
         e.printStackTrace(); 
        }} 

if(Type.equals("choose")) 
     { 
    try { 
         jObjectData.put("user_id", dbchooseuserid); 
         jObjectData.put("book_id", dbchoosebookid); 
         jObjectData.put("chapter_id", dbchoosechapterid); 
         jObjectData.put("question_type", Type); 
         jObjectData.put("question_id", dbchoosequestionid); 
         jObjectData.put("option_id", dbchooseoptionid); 

         jArrayFacebookData.put(jObjectData); 
         Log.i("tag555", ""+jArrayFacebookData.toString()); 
a.add(jObjectData.toString()); 
     Log.i("tag5", ""+a); 

        } catch (JSONException e) { 
         e.printStackTrace(); 
        }} 

輸出我得到的是

[{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"choose","question_id":"1","option_id":"1"}] 

但我需要這樣的

[{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"hint","question_id":"1","notes":",,Gg,,,,"}{"user_id":"1","book_id":"64","chapter_id":"1","question_type":"choose","question_id":"1","option_id":"1"}] 
+0

我不是javascript專家,但我注意到了一些事情。首先用「TypeHint」或「Type」替換「question_type」。如果你想要的值是「筆記」,你應該使用「TypeHint」。其次它看起來像設置「筆記」對象時發生某種錯誤。你可以嘗試使用「console.error(e);」而不是打印stacktrace查看JSON異常的更多細節 –

+0

我需要這樣的輸出字符串h = [{「user_id」:「1」,「book_id」:「64」,「chapter_id」:「1」,「question_type 「:」 提示 「 」question_id「: 」1「, 」註釋「:」 ,,千兆克,,,, 「},{」 USER_ID 「:」 1" , 「book_id」: 「64」, 「chapter_id」: 「1」,「question_type」:「choose」,「question_id」:「1」,「option_id」:「1」}] –

+0

你可以從這段代碼發佈完整的代碼嗎?它看起來像你在調用類/方法,如果你仔細檢查你的數組,列表將在每次調用時得到初始化,所以除非你將它們初始化並在這裏添加項目,否則你不會得到期望的結果。 –

回答

0

實例化JSONObject輸出後,每if條件,然後嘗試。

if(TypeHint.equals("hint")){ 
    JSONObject jObjectData = new JSONObject(); 
     ...... 


    if(Type.equals("choose")){ 
    JSONObject jObjectData = new JSONObject(); 
    .... 
+0

對不起,我已經嘗試過......它也不能工作相同的輸出 –

+0

你可以在這裏粘貼'JSONArray'和'JSONObject'的完整封裝細節嗎? –

+0

完整pakage意味着什麼?我正在使用kso​​ap –