杰瑞科技汇

Java数组如何转成JSON字符串数组?

Java 数组转 JSON 字符串数组

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

Java数组如何转成JSON字符串数组?-图1
(图片来源网络,侵删)

使用 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>

然后使用以下代码转换:

Java数组如何转成JSON字符串数组?-图2
(图片来源网络,侵删)
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
}

注意事项

  1. 确保你的项目中添加了相应的 JSON 库依赖
  2. 对于复杂对象,确保它们有适当的 getter/setter 方法
  3. 处理可能的异常情况(如 JSON 处理异常)
  4. 如果需要格式化的 JSON 输出,可以配置相应的选项(如 Jackson 的 DefaultPrettyPrinter

方法都可以有效地将 Java 数组转换为 JSON 字符串数组,选择哪种方法主要取决于你项目中已经使用的 JSON 库。

Java数组如何转成JSON字符串数组?-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇