gpt4 book ai didi

java - 错误循环

转载 作者:行者123 更新时间:2023-11-30 01:37:27 25 4
gpt4 key购买 nike

我的周期有一个问题。我用 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());
}

但是,与

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

我不明白错误是什么。 This is the screen of app

最佳答案

您将在 for 循环的每次迭代中覆盖它的值。

改变

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

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

注意:您应该像这样用空字符串初始化stringaFinale

String stringaFinale = "";

更新:另一种更好的方法是像这样使用StringBuilder

// 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();

关于java - 错误循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34947240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com