Java 错误周期

Java 错误周期,java,android,for-loop,Java,Android,For Loop,我的自行车有一个问题。 我用JsonParser解析数据,然后用一个周期打印所有数据,但只收到最后一个结果 代码如下: try{ JSONArray jArray = new JSONArray(result); for(int i=0;i<jArray.length();i++){ JSONObject json_data = jArray.getJSONObject(i); Log.d("id_Persons", "id: " + js

我的自行车有一个问题。 我用JsonParser解析数据,然后用一个周期打印所有数据,但只收到最后一个结果

代码如下:

try{
    JSONArray jArray = new JSONArray(result);
    for(int i=0;i<jArray.length();i++){
        JSONObject json_data = jArray.getJSONObject(i);

        Log.d("id_Persons", "id: " + json_data.getString("id_Persons") 
            + ", nome: " + json_data.getString("name") 
            + json_data.getString("address")
        );

        stringaFinale =  json_data.getString("id_Persons") + " " 
            + json_data.getString("name") + " " 
            + json_data.getString("address");
    }
    return stringaFinale;
}
catch(JSONException e){
    Log.e("log_tag", "Error parsing data "+e.toString());
}
我不明白是什么错误。

循环的每次迭代中,您都会覆盖它的值

改变

 stringaFinale =  json_data.getString("id_Persons") + " " + json_data.getString("name") + " " + json_data.getString("address");

注意:您应该使用如下空字符串初始化
stringaFinale

String stringaFinale = "";
// declare it before the loop 
StringBuilder stringaFinale = new StringBuilder(200); // use appropriate size

//Inside the loop
stringaFinale.append(json_data.getString("id_Persons") + " " + json_data.getString("name") + " " + json_data.getString("address"));

//Get the value
stringFinale.toString();
更新:另一个更好的方法是像这样使用
StringBuilder

String stringaFinale = "";
// declare it before the loop 
StringBuilder stringaFinale = new StringBuilder(200); // use appropriate size

//Inside the loop
stringaFinale.append(json_data.getString("id_Persons") + " " + json_data.getString("name") + " " + json_data.getString("address"));

//Get the value
stringFinale.toString();

这是因为在for循环endsWell之后返回stringaFinale,所以在循环的每个迭代中重新分配
stringaFinale
,忽略以前的值。。。您希望如何获取多个值的数据?是否进行字符串连接,如stringaFinale=stringaFinale+json_data.getString(“id_Persons”)+“”+json_data.getString(“name”)+“”+json_data.getString(“address”)@JonSkeet如何修复此错误?我们无法真正告诉您如何使用
stringaFinale
。。。但是您可能想使用
StringBuilder
来构建最终结果…@Python\u 96:很高兴我能提供帮助。请不要忘记接受答案。或者更确切地说,在这方面使用StringBuildercase@Rohit5k2:是的,是的:)别担心^_^