在Android中循环遍历JSON数组可以通过org.json
包或第三方库如Gson
实现。以下是详细方法和示例代码:
org.json
库JSONArray
:表示JSON数组,提供按索引访问元素的方法。JSONObject
:表示JSON对象,用于解析数组中的每个元素。import org.json.JSONArray;
import org.json.JSONObject;
public void parseJsonArray(String jsonString) {
try {
JSONArray jsonArray = new JSONArray(jsonString);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject item = jsonArray.getJSONObject(i); // 假设数组元素是对象
String name = item.getString("key_name");
int value = item.getInt("key_value");
Log.d("JSON", "Name: " + name + ", Value: " + value);
}
} catch (Exception e) {
e.printStackTrace();
}
}
Gson
库(推荐)Gson
:Google提供的JSON序列化/反序列化库,支持对象映射。TypeToken
:用于定义复杂泛型类型(如List<MyModel>
)。步骤1:添加依赖
implementation 'com.google.code.gson:gson:2.8.9'
步骤2:定义数据模型
public class MyModel {
private String key_name;
private int key_value;
// Getter/Setter省略
}
步骤3:解析JSON数组
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.List;
public void parseWithGson(String jsonString) {
Gson gson = new Gson();
List<MyModel> dataList = gson.fromJson(jsonString, new TypeToken<List<MyModel>>(){}.getType());
for (MyModel item : dataList) {
Log.d("GSON", "Name: " + item.getKey_name() + ", Value: " + item.getKey_value());
}
}
optString()
/optInt()
避免崩溃。JsonReader
)替代完全加载。org.json
。Gson
或kotlinx.serialization
(Kotlin项目)。根据需求选择合适方法即可高效处理JSON数组。
没有搜到相关的文章