maven依赖包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.7</version>
</dependency>
两个实体类Date和Users,Users里引用Date类
package mypro;
public class Date {
private String date;
private String open;
private String close;
private String high;
private String low;
private String volume;
private String code;
private String error_code;
private String reason;
public String getError_code() {
return error_code;
}
public void setError_code(String error_code) {
this.error_code = error_code;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getOpen() {
return open;
}
public void setOpen(String open) {
this.open = open;
}
public String getClose() {
return close;
}
public void setClose(String close) {
this.close = close;
}
public String getHigh() {
return high;
}
public void setHigh(String high) {
this.high = high;
}
public String getLow() {
return low;
}
public void setLow(String low) {
this.low = low;
}
public String getVolume() {
return volume;
}
public void setVolume(String volume) {
this.volume = volume;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
package mypro;
public class Users {
int error_code;
Date data;
String reason;
public int getError_code() {
return error_code;
}
public void setError_code(int error_code) {
this.error_code = error_code;
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
}
创建测试类
package mypro;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class JsonToClassTest {
public static void main(String[] args) {
String userString ="{“error_code”:0,“data”:{“date”:“2019-10-31”,“open”:“5.95”,“close”:“5.88”,“high”:“5.96”,“low”:“5.88”,“volume”:“1053382”,“code”:“sh601857”},“reason”:“success”}";
JSONObject userjson= JSONObject.parseObject(userString);
Object date = userjson.get(“data”);
Users u = JSON.toJavaObject((JSON)userjson, Users.class);
System.out.println(u.getError_code());
System.out.println(u.getReason());
System.out.println(u.getData().getDate());
System.out.println(u.getData().getOpen());
System.out.println(u.getData().getClose());
System.out.println(u.getData().getHigh());
System.out.println(u.getData().getLow());
System.out.println(u.getData().getVolume());
System.out.println(u.getData().getCode());
}
}
输出结果
0
success
2019-10-31
5.95
5.88
5.96
5.88
1053382
sh601857
Fastjson支持多层嵌套的JSON。