fastjson转对象

使用fastjson将JSON字符串转换为Java对象的步骤如下:

导入fastjson的依赖包。

创建一个JSON字符串。

使用fastjson的parseObject方法将JSON字符串转换为Java对象。

示例代码:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class Test {
    public static void main(String[] args) {
        // 创建一个JSON字符串
        String jsonString = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}";

        // 将JSON字符串转换为Java对象
        JSONObject jsonObject = JSON.parseObject(jsonString);
        String name = jsonObject.getString("name");
        int age = jsonObject.getIntValue("age");
        String gender = jsonObject.getString("gender");

        // 输出Java对象的属性值
        System.out.println("name: " + name);
        System.out.println("age: " + age);
        System.out.println("gender: " + gender);
    }
}

输出结果:

name: Tom
age: 18
gender: male

如果要将JSON字符串转换为Java对象,可以使用fastjson的parseObject方法。该方法有多个重载,可以根据需要选择不同的参数。以下是一些示例:

将JSON字符串转换为普通Java对象

String jsonString = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}";
User user = JSON.parseObject(jsonString, User.class);

其中,User是一个普通的Java类,包含name、age和gender三个属性。

将JSON字符串转换为泛型Java对象

String jsonString = "[{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"},{\"name\":\"Jerry\",\"age\":20,\"gender\":\"female\"}]";
List<User> userList = JSON.parseObject(jsonString, new TypeReference<List<User>>(){});

其中,User是一个普通的Java类,包含name、age和gender三个属性。TypeReference是fastjson提供的一个泛型类型,用于解决泛型类型擦除的问题。

将JSON字符串转换为复杂Java对象

String jsonString = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\",\"address\":{\"province\":\"Guangdong\",\"city\":\"Shenzhen\"}}";
User user = JSON.parseObject(jsonString, User.class, Feature.SupportNonPublicField);

其中,User是一个复杂的Java类,包含name、age、gender和address四个属性,其中address是一个嵌套的Java对象。Feature.SupportNonPublicField是fastjson提供的一个特性,用于支持非公共字段的反序列化。

以上是一些常见的JSON字符串转换为Java对象的示例,具体使用方法可以根据实际情况进行调整。