2017-01-01 50 views
0

我觀看了這裏的許多類似的主題將Java數組列表以陣列,還沒有讓我來解決:使用循環

//how to Convert this arraylist to array string using loop 

public static void main(String[] args) 
{ 
Main m = new Main(); 
List<JSONObject> jObj = m.getJsonObject(); 
for (int i = 0; i < jObj.size(); i++) 
    { 
    System.out.println(jObj.get(i)); 
    } 
} 

的例子很多我都看見在代碼中添加創建一個數組列表,我已經有了arrayList。我只需要修改它作爲一個數組的字符串,而不是一個ArrayList中,這樣我可以正確地與

String responseStr = "{\"data\":" + 

格式設置爲JSON字符串,這裏是整個豆:

package com.queryData.main; 

import com.queryData.dao.DataDAO; 
import com.queryData.services.JsonServices; 
import java.sql.ResultSet; 
import java.util.List; 
import org.json.JSONObject; 

public class Main { 
    ResultSet resultSet = null; 
    DataDAO datadao = new DataDAO(); 

    public List<JSONObject> getJsonObject() 
    { 
     resultSet = datadao.getResultSet(); 
     List<JSONObject> resList = JsonServices.getFormattedResult(resultSet);  
     return resList; 
    } 
    //how to Convert this arraylist to array string using loop 

    public static void main(String[] args) 
    { 
    Main m = new Main(); 
    List<JSONObject> jObj = m.getJsonObject(); 
    for (int i = 0; i < jObj.size(); i++) 
     { 
     System.out.println(jObj.get(i)); 
     } 
    } 
} 

我嘗試以下代碼,但它不起作用。

package com.queryData.main; 

import com.queryData.dao.DataDAO; 
import com.queryData.services.JsonServices; 
import java.sql.ResultSet; 
import java.util.List; 
import org.json.JSONObject; 

public class Main { 
    ResultSet resultSet = null; 
    DataDAO datadao = new DataDAO(); 

    public List<JSONObject> getJsonObject() 
    { 
     resultSet = datadao.getResultSet(); 
     List<JSONObject> resList = JsonServices.getFormattedResult(resultSet);  
     return resList; 
    } 
    //how to Convert this arraylist to array string using loop 

    public static void main(String[] args) 
    { 
    Main m = new Main(); 
    List<JSONObject> jObj = m.getJsonObject(); 
    for (int i = 0; i < jObj.size(); i++) 
     { 
     //System.out.println(jObj.get(i)); 
     } 

    String[] stringArr = jObj.toArray(new String[] {}); 
    for (String element : stringArr) { 
     System.out.println(element); 


    } 
    } 
} 

任何建議非常感謝。 感謝

+0

'我只是需要修改它作爲數組字符串,而不是一個arrayList,以便我可以正確格式化爲JSON字符串'... _Huh_? –

+0

請顯示輸入json和預期輸出json的最簡單示例,以便更好地解釋您的場景。 (這是假設你想要再次輸出json,如果我錯了解釋什麼輸出) – weston

回答

0

使用StringBuilder建立字符串:

List<Object> jObj = m.getJsonObject(); 
StringBuilder sb = new StringBuilder(); 
for(int i =0 ; i < jObj.size(); i++){ 
    sb.append(jObj.get(i).toString()); 
} 

最後sb.toString()將是你想要的字符串。

+0

謝謝。代碼共享你返回錯誤: 多個標記在該行 \t - 類型不匹配:不能從列表轉換到列表 \t - 重複局部變量jObj – Jon

+0

謝謝。我修改了,它工作!請如何添加以下內容來創建我所需的JSON字符串: ' String responseStr =「{\」data \「:」+ ' – Jon

+0

這兩條附加行將沿着下面的內容添加前綴到JSON: ' String responseStr =「{\」data \「:」+ serializedProducts +「}」; return responseStr; ' – Jon

0

你可以做一些修改:列表支持誘騙像

List<Object> jObj = m.getJsonObject(); 
for(int i =0 ; i < jObj.size(); i++){ 
    jObj.add(jObj.get(i).toString(), i); // change toString() to whatever u need 
} 
+0

謝謝,你知道我可以返回一個沒有錯誤的值嗎? – Jon