在 Java 中,将 JSONArray 转换为 List 有多种实现方式,下面我将详细介绍其中的几种常见方式,并提供示例代码以及相关的 Maven 和 Gradle 依赖坐标。
假设我们有以下的 JSONArray 作为示例数据:
[
"item1",
"item2",
"item3"
]
import org.json.JSONArray;
import org.json.JSONException;
public class JSONArrayToListExample {
public static void main(String[] args) throws JSONException {
JSONArray jsonArray = new JSONArray("[\"item1\", \"item2\", \"item3\"]");
List<String> list = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
list.add(jsonArray.getString(i));
}
System.out.println(list);
}
}
Maven 依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
</dependency>
Gradle 依赖:
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.0'
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.type.TypeReference;
import java.util.List;
public class JSONArrayToListExample {
public static void main(String[] args) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
String jsonString = "[\"item1\", \"item2\", \"item3\"]";
List<String> list = objectMapper.readValue(jsonString, new TypeReference<List<String>>() {});
System.out.println(list);
}
}
Maven 依赖:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.9</version>
</dependency>
Gradle 依赖:
implementation 'com.google.code.gson:gson:2.8.9'
import com.google.gson.Gson;
import java.util.List;
public class JSONArrayToListExample {
public static void main(String[] args) {
String jsonString = "[\"item1\", \"item2\", \"item3\"]";
Gson gson = new Gson();
List<String> list = gson.fromJson(jsonString, new TypeToken<List<String>>() {}.getType());
System.out.println(list);
}
}
以上是几种常见的将 JSONArray 转换为 List 的方式,每种方式都有其适用场景。你可以根据自己项目的需要选择其中一种方式来处理 JSON 数据。记得根据所选的方式添加相应的依赖库。