Java 字符串转 JSON 数组
在 Java 中将字符串转换为 JSON 数组,通常需要使用 JSON 处理库,以下是几种常用的方法:

使用 org.json 库
首先添加依赖(Maven):
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20251013</version>
</dependency>
示例代码:
import org.json.JSONArray;
public class StringToJsonArray {
public static void main(String[] args) {
String jsonString = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]";
try {
JSONArray jsonArray = new JSONArray(jsonString);
// 遍历JSON数组
for (int i = 0; i < jsonArray.length(); i++) {
System.out.println(jsonArray.getJSONObject(i));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用 Gson 库
首先添加依赖(Maven):
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
示例代码:

import com.google.gson.JsonArray;
import com.google.gson.JsonParser;
public class StringToJsonArray {
public static void main(String[] args) {
String jsonString = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]";
try {
JsonArray jsonArray = JsonParser.parseString(jsonString).getAsJsonArray();
// 遍历JSON数组
for (int i = 0; i < jsonArray.size(); i++) {
System.out.println(jsonArray.get(i).getAsJsonObject());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用 Jackson 库
首先添加依赖(Maven):
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.15.2</version>
</dependency>
示例代码:
import com.fasterxml.jackson.databind.ObjectMapper;
public class StringToJsonArray {
public static void main(String[] args) {
String jsonString = "[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]";
try {
ObjectMapper objectMapper = new ObjectMapper();
List<Object> list = objectMapper.readValue(jsonString, List.class);
// 遍历列表
for (Object obj : list) {
System.out.println(obj);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
注意事项
- 确保输入的字符串是有效的 JSON 数组格式(以
[开头,以]- 处理过程中要捕获可能的异常(如
JSONException、JsonSyntaxException等)- 根据你的项目需求选择合适的 JSON 库
- 如果需要将 JSON 数组转换为特定对象的列表,可以使用泛型和类型转换
- 处理过程中要捕获可能的异常(如
方法都可以实现字符串到 JSON 数组的转换,选择哪种取决于你的项目需求和已有的依赖。
