杰瑞科技汇

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

在Java中将字符串转换为JSON对象数组

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

使用Gson库

Gson是Google提供的JSON处理库。

首先添加依赖:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.9</version>
</dependency>

示例代码:

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
public class JsonStringToArray {
    public static void main(String[] args) {
        String jsonString = "[{\"name\":\"张三\",\"age\":25},{\"name\":\"李四\",\"age\":30}]";
        Gson gson = new Gson();
        Type listType = new TypeToken<List<Person>>(){}.getType();
        List<Person> personList = gson.fromJson(jsonString, listType);
        // 使用personList...
    }
}
class Person {
    private String name;
    private int age;
    // getters and setters
}

使用Jackson库

Jackson是另一个流行的JSON处理库。

Java字符串如何转成JSON对象数组?-图1

添加依赖:

Java字符串如何转成JSON对象数组?-图2

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.0</version>
</dependency>

示例代码:

Java字符串如何转成JSON对象数组?-图3

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
public class JsonStringToArray {
    public static void main(String[] args) throws Exception {
        String jsonString = "[{\"name\":\"张三\",\"age\":25},{\"name\":\"李四\",\"age\":30}]";
        ObjectMapper objectMapper = new ObjectMapper();
        List<Person> personList = objectMapper.readValue(jsonString, new TypeReference<List<Person>>() {});
        // 使用personList...
    }
}
class Person {
    private String name;
    private int age;
    // getters and setters
}

使用org.json库

这是一个轻量级的JSON库。

添加依赖:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20250307</version>
</dependency>

示例代码:

import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class JsonStringToArray {
    public static void main(String[] args) {
        String jsonString = "[{\"name\":\"张三\",\"age\":25},{\"name\":\"李四\",\"age\":30}]";
        JSONArray jsonArray = new JSONArray(jsonString);
        List<Person> personList = new ArrayList<>();
        for (int i = 0; i < jsonArray.length(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            Person person = new Person();
            person.setName(jsonObject.getString("name"));
            person.setAge(jsonObject.getInt("age"));
            personList.add(person);
        }
        // 使用personList...
    }
}
class Person {
    private String name;
    private int age;
    // getters and setters
}

注意事项

  1. 确保JSON字符串格式正确,否则会抛出异常
  2. 根据你的项目需求选择合适的JSON库
  3. 如果JSON结构复杂,可能需要创建对应的Java类来映射
  4. 处理大型JSON时,考虑使用流式API以提高性能

方法都可以将JSON字符串转换为Java对象数组,选择哪种方法取决于你的具体需求和项目环境。

分享:
扫描分享到社交APP
上一篇
下一篇