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对象的示例,具体使用方法可以根据实际情况进行调整。