举例说明:
现在有一个返回的json字符串数据,如下所示:
{
"data": {
"blry": "张三",
"jdmc": "lll",
"myd": "1",
"pjsj": "2018-10-17 14:16:35",
"sqrlxfs": "18673892546",
"sqrxm": "jsonchen",
"ywbh": "201710180209"
},
"head": {
"token": "6FC1E11F1A3CE72377817F286FD1C70E",
"wdbs": "",
"xzqdm": ""
}
}
现在要将该json字符串转为bean对象的形式,分析json字符串得出,一个大的对象里面包括两个小对象(复杂的json字符串也是可以这样推出来的):
先创建最外面的对象,里面包括两个对象:
/**
*结果类
**/
public Class Result{
//第一个key为data的bean类
private DataBean data;
//第二个key为head的bean类
private HeadBean head;
public DataBean getData(){
return data;
}
public void setData(DataBean data){
this.data = data;
}
public HeadBean getHead(){
return head;
}
public void setHead(HeadBean head){
this.head = head;
}
}
接下来就是创建剩余的两个对象,注意保持bean类和字符串的属性名对应起来,否则可能会出现错误:
package com.moke.vo;
/**
*数据对象类
**/
public class DataBean {
private String blry;
private String jdmc;
private String myd;
private String pjsj;
private String sqrlxfs;
private String ywbh;
private String bmyyy;
private String sqrxm;
public String getBlry() {
return blry;
}
public void setBlry(String blry) {
this.blry = blry;
}
public String getJdmc() {
return jdmc;
}
public void setJdmc(String jdmc) {
this.jdmc = jdmc;
}
public String getMyd() {
return myd;
}
public void setMyd(String myd) {
this.myd = myd;
}
public String getPjsj() {
return pjsj;
}
public void setPjsj(String pjsj) {
this.pjsj = pjsj;
}
public String getSqrlxfs() {
return sqrlxfs;
}
public void setSqrlxfs(String sqrlxfs) {
this.sqrlxfs = sqrlxfs;
}
public String getYwbh() {
return ywbh;
}
public void setYwbh(String ywbh) {
this.ywbh = ywbh;
}
public String getBmyyy() {
return bmyyy;
}
public void setBmyyy(String bmyyy) {
this.bmyyy = bmyyy;
}
public String getSqrxm() {
return sqrxm;
}
public void setSqrxm(String sqrxm) {
this.sqrxm = sqrxm;
}
}
package com.moke.vo; /** *头部对象类 **/ public class HeadBean { private String wdbs; private String token; private String xzqdm; public String getWdbs() { return wdbs; } public void setWdbs(String wdbs) { this.wdbs = wdbs; } public String getToken() { return token; } public void setToken(String token) { this.token = token; } public String getXzqdm() { return xzqdm; } public void setXzqdm(String xzqdm) { this.xzqdm = xzqdm; } } 之后使用fastjson中的方法将json字符串转为javabean类: public static void testJSONStrToJavaBeanObj(){ Result result = JSON.parseObject(上面的json字符串, new TypeReference<Result>() {}); //Student student1 = JSONObject.parseObject(json字符串, new TypeReference<Student>() {});//因为JSONObject继承了JSON,所以这样也是可以的 System.out.println(result.getData().getBlry()+":"+result.getHead().getxzqdm());//这样就可以获取到相应对象中的值 }