2017-01-01 47 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