- 工具:
- 一、示例JSON
- 二、使用步骤
- 1.使用工具将JSON串转成几个实体类
- 2.利用fastjson转成实体类
工具:
JSON生成实体类网站: 点击此处
一、示例JSON
{
"code":200,
"data":{
"records":[
{
"id":"1360547626449233",
"name":"父字段",
"stock":"2000",
"children":[
{
"id":"1360547626449233",
"name":"子项目",
"stock":"2000"
},{
"id":"123456",
"name":"子项目2",
"stock":2000
}
]
}
],
"place":"河南"
}
}
二、使用步骤
1.使用工具将JSON串转成几个实体类
得到实体类代码如下:
package com.zheng.pojo;
public class JsonRootBean {
private int code;
private Data data;
public void setCode(int code) {
this.code = code;
}
public int getCode() {
return code;
}
public void setData(Data data) {
this.data = data;
}
public Data getData() {
return data;
}
@Override
public String toString() {
return "JsonRootBean{" +
"code=" + code +
", data=" + data +
'}';
}
}
package com.zheng.pojo;
public class Data {
private List records;
private String place;
public void setRecords(List records) {
this.records = records;
}
public List getRecords() {
return records;
}
public void setPlace(String place) {
this.place = place;
}
public String getPlace() {
return place;
}
@Override
public String toString() {
return "Data{" +
"records=" + records +
", place='" + place + ''' +
'}';
}
}
package com.zheng.pojo;
public class Records {
private String id;
private String name;
private int stock;
private List children;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
public void setChildren(List children) {
this.children = children;
}
public List getChildren() {
return children;
}
@Override
public String toString() {
return "Records{" +
"id='" + id + ''' +
", name='" + name + ''' +
", stock=" + stock +
", children=" + children +
'}';
}
}
package com.zheng.pojo;
public class Children {
private String id;
private String name;
private int stock;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public int getStock() {
return stock;
}
public void setStock(int stock) {
this.stock = stock;
}
@Override
public String toString() {
return "Children{" +
"id='" + id + ''' +
", name='" + name + ''' +
", stock=" + stock +
'}';
}
}
2.利用fastjson转成实体类
代码如下(示例):
package com.zheng.javaPractice;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.comicyu.pojo.JsonRootBean;
public class JsonPractice {
private static void jsonTansferObject() {
String JsonStr = "{n" +
""code":200,n" +
" "data":{n" +
" "records":[n" +
" {n" +
" "id":"1360547626449233", n" +
" "name":"父字段", n" +
" "stock":2000,n" +
" "children":[n" +
" {n" +
" "id":"1360547626449233",n" +
" "name":"子项目",n" +
" "stock":2000n" +
" },{n" +
" "id":"123456",n" +
" "name":"子项目2",n" +
" "stock":2000n" +
" }n" +
" n" +
" ]n" +
" }n" +
" ],n" +
" "place":"河南"n" +
" }n" +
"}";
//转换对象成功,字段名一定全部小写
JsonRootBean bean = JSONObject.parseObject(JsonStr, JsonRootBean.class);
String data = bean.getData().toString();
System.out.println(bean.toString());
}
public static void main(String[] args) {
JsonPractice.jsonTansferObject();
}
}
执行结果:
正确输出



