定义一个泛型JavaBean,结构如下:
@Data
public class Result<T> {
private int code;
private String message;
private T data;
}
然后定义一个用户类,命名为 User:
@Data
public class User {
private String username;
private String password;x
}
此时如果我们有一个json,内容类似如下:
"{'code':1, 'message': 'success', 'data':{ 'username':'xxx', 'password': '123124'}}"
我们的目标是把这个json字符串转换成Result<User> 对象,方法如下:
String json="{'code':1, 'message': 'success', 'data':{ 'username':'xxx', 'password': '123124'}}";
Result<User> result = JSON.parseObject(json, new TypeReference<Result<User>>(){});
System.out.println(result.getData().getClass()); # 控制台会输出class.***.User,说明转换成功
注意:低版本fastjson可能会报错,建议使用最新版本或者可以参考我的pom依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
网友评论