怎么将JSONArray转成List<String>,不要使用Gson库
时间: 2024-05-05 16:18:57 浏览: 17
您好!可以使用 Java 的原生方法来完成 JSONArray 转 List<String> 的操作。具体实现如下:
```
JSONArray jsonArray = new JSONArray("[\"string1\",\"string2\",\"string3\"]");
List<String> stringList = new ArrayList<>(jsonArray.length());
for (int i = 0; i < jsonArray.length(); i++) {
stringList.add(jsonArray.getString(i));
}
```
以上代码中,首先将 JSONArray 的字符串形式进行解析,然后通过 for 循环遍历每一个元素,将其作为 String 类型添加到 List 中。
希望我的回答对您有所帮助!
相关问题
JSONArray转成List<String>
可以使用Gson库来进行JSONArray与List<String>之间的转换。具体实现如下:
1.导入Gson库
在您的项目中添加以下依赖项:
```
//Gradle
implementation 'com.google.code.gson:gson:2.8.7'
//Maven
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.7</version>
</dependency>
```
2.将JSONArray转换为String数组
您可以使用Gson库中的fromJson()方法将JSONArray转换为String数组,然后将String数组转换为List<String>。
```
JSONArray jsonArray = new JSONArray("[\"apple\", \"banana\", \"cherry\"]");
Gson gson = new Gson();
String[] stringArray = gson.fromJson(jsonArray.toString(), String[].class);
List<String> stringList = Arrays.asList(stringArray);
```
在上面的示例中,我们使用了JSONArray类来创建一个包含三个字符串的JSON数组。然后,我们使用Gson库中的fromJson()方法将JSONArray转换为字符串数组。最后,我们使用Arrays.asList()方法将字符串数组转换为List<String>。
3.测试
您可以使用以下代码行测试转换是否成功:
```
System.out.println(stringList);
```
如果转换成功,列表将打印为:
```
[apple, banana, cherry]
```
jsonarray转list<Map>
可以使用以下代码将一个 JSON 数组转换为一个 List<Map>:
```java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String jsonArray = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]";
Gson gson = new Gson();
Type mapType = new TypeToken<List<Map<String, Object>>>() {}.getType();
List<Map<String, Object>> list = gson.fromJson(jsonArray, mapType);
// 打印转换后的 List<Map>
for (Map<String, Object> map : list) {
System.out.println(map);
}
}
}
```
这里使用了 Gson 库来进行 JSON 字符串的解析和转换。首先,我们创建了一个 Gson 对象。然后,我们使用 `TypeToken` 类来获取一个 `List<Map<String, Object>>` 的类型。接下来,我们使用 `fromJson()` 方法将 JSON 数组转换为 List<Map> 对象。最后,我们遍历 List<Map> 并打印每个 Map。
请确保在运行代码之前,将 Gson 库添加到项目的依赖中。你可以在 Maven 或 Gradle 中添加以下依赖:
Maven:
```xml
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.7</version>
</dependency>
```
Gradle:
```
implementation 'com.google.code.gson:gson:2.8.7'
```
希望对你有所帮助!如果你有任何其他问题,请随时问我。