Java 数组转 JSON 字符串数组
在 Java 中,将数组转换为 JSON 字符串数组有几种常见方法,主要取决于你使用的 JSON 库,以下是几种流行的实现方式:

使用 Jackson
首先添加 Jackson 依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
</dependency>
然后使用以下代码转换:
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ArrayToJson {
public static void main(String[] args) {
String[] stringArray = {"apple", "banana", "cherry"};
ObjectMapper objectMapper = new ObjectMapper();
try {
// 直接转换为JSON数组字符串
String jsonString = objectMapper.writeValueAsString(stringArray);
System.out.println(jsonString);
// 输出: ["apple","banana","cherry"]
// 转换为JsonNode数组
// JsonNode jsonNodeArray = objectMapper.valueToTree(stringArray);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
}
使用 Gson
首先添加 Gson 依赖:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.9</version>
</dependency>
然后使用以下代码转换:

import com.google.gson.Gson;
public class ArrayToJson {
public static void main(String[] args) {
String[] stringArray = {"apple", "banana", "cherry"};
Gson gson = new Gson();
String jsonString = gson.toJson(stringArray);
System.out.println(jsonString);
// 输出: ["apple","banana","cherry"]
}
}
使用 org.json
首先添加 org.json 依赖:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20250307</version>
</dependency>
然后使用以下代码转换:
import org.json.JSONArray;
public class ArrayToJson {
public static void main(String[] args) {
String[] stringArray = {"apple", "banana", "cherry"};
JSONArray jsonArray = new JSONArray(stringArray);
String jsonString = jsonArray.toString();
System.out.println(jsonString);
// 输出: ["apple","banana","cherry"]
}
}
对于对象数组
如果你有一个对象数组并想转换为 JSON 数组:
import com.fasterxml.jackson.databind.ObjectMapper;
public class ObjectArrayToJson {
public static void main(String[] args) {
Fruit[] fruits = {
new Fruit("apple", "red"),
new Fruit("banana", "yellow"),
new Fruit("cherry", "red")
};
ObjectMapper objectMapper = new ObjectMapper();
try {
String jsonString = objectMapper.writeValueAsString(fruits);
System.out.println(jsonString);
// 输出: [{"name":"apple","color":"red"},{"name":"banana","color":"yellow"},{"name":"cherry","color":"red"}]
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Fruit {
private String name;
private String color;
public Fruit(String name, String color) {
this.name = name;
this.color = color;
}
// getters and setters
}
注意事项
- 确保你的项目中添加了相应的 JSON 库依赖
- 对于复杂对象,确保它们有适当的 getter/setter 方法
- 处理可能的异常情况(如 JSON 处理异常)
- 如果需要格式化的 JSON 输出,可以配置相应的选项(如 Jackson 的
DefaultPrettyPrinter)
方法都可以有效地将 Java 数组转换为 JSON 字符串数组,选择哪种方法主要取决于你项目中已经使用的 JSON 库。

