java将json字符串解析成对应的实体类的集合,然后再入库
json字符串:[{“checked”:false,“children”:[],“chkDisabled”:false,“icon”:"",“iconClose”:"",“iconOpen”:"",“iconSkin”:“organ_icon_dept”,“id”:“5C0141B6E33F474B8A9EB5C65EFC259D”,“isParent”:false,“name”:“离休科”,“nocheck”:false,“open”:false,“type”:“dept”},{“checked”:false,“children”:[],“chkDisabled”:false,“icon”:"",“iconClose”:"",“iconOpen”:"",“iconSkin”:“organ_icon_dept”,“id”:“34B62085CD2C464E8BE9C896BD46E69D”,“isParent”:false,“name”:“退休科”,“nocheck”:false,“open”:false,“type”:“dept”},{“checked”:false,“children”:[],“chkDisabled”:false,“icon”:"",“iconClose”:"",“iconOpen”:"",“iconSkin”:“organ_icon_dept”,“id”:“B44D8275EFBF4E46A8A39F0BF2D54F17”,“isParent”:false,“name”:“机关三科”,“nocheck”:false,“open”:false,“type”:“dept”},{“checked”:false,“children”:[],“chkDisabled”:false,“icon”:"",“iconClose”:"",“iconOpen”:"",“iconSkin”:“organ_icon_dept”,“id”:“9263C2702E5140A6A6C7B026E5A17377”,“isParent”:false,“name”:“机关四科”,“nocheck”:false,“open”:false,“type”:“dept”}]
json字符串对应的实体类
import com.cesgroup.framework.base.entity.StringIDEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.List;
@Entity
@Table(name = "CDS_JWZB_ZZJG", schema = "PRISON")
public class OrganizationEntity extends StringIDEntity {
private String checked;
private String chkDisabled;
private String icon;
private String iconClose;
private String iconOpen;
private String iconSkin;
private String isParent;
private String name;
private String nocheck;
private String open;
private String type;
@Transient
private List<OrganizationEntity> children;
public String getChecked() {
return checked;
}
public void setChecked(String checked) {
this.checked = checked;
}
public String getChkDisabled() {
return chkDisabled;
}
public void setChkDisabled(String chkDisabled) {
this.chkDisabled = chkDisabled;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public String getIconClose() {
return iconClose;
}
public void setIconClose(String iconClose) {
this.iconClose = iconClose;
}
public String getIconOpen() {
return iconOpen;
}
public void setIconOpen(String iconOpen) {
this.iconOpen = iconOpen;
}
public String getIconSkin() {
return iconSkin;
}
public void setIconSkin(String iconSkin) {
this.iconSkin = iconSkin;
}
public String getIsParent() {
return isParent;
}
public void setIsParent(String isParent) {
this.isParent = isParent;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNocheck() {
return nocheck;
}
public void setNocheck(String nocheck) {
this.nocheck = nocheck;
}
public String getOpen() {
return open;
}
public void setOpen(String open) {
this.open = open;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public List<OrganizationEntity> getChildren() {
return children;
}
public void setChildren(List<OrganizationEntity> children) {
this.children = children;
}
解析json字符串并入库
import com.cesgroup.framework.biz.service.BaseDaoService;
import com.cesgroup.prison.jwzb.dao.JwzbMapper;
import com.cesgroup.prison.jwzb.entity.OrganizationEntity;
import com.cesgroup.prison.jwzb.service.JwzbService;
import net.sf.json.JSONArray;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
@Service("JwzbService")
public class JwzbServiceImpl extends BaseDaoService<OrganizationEntity, String, JwzbMapper> implements JwzbService {
@Resource
private JwzbMapper jwzbMapper;
@Override
@Transactional
public void synchronJwzbZzjg() {
String strJson = "[{\"checked\":false,\"children\":[],\"chkDisabled\":false,\"icon\":\"\",\"iconClose\":\"\",\"iconOpen\":\"\",\"iconSkin\":\"organ_icon_dept\",\"id\":\"5C0141B6E33F474B8A9EB5C65EFC259D\",\"isParent\":false,\"name\":\"离休科\",\"nocheck\":false,\"open\":false,\"type\":\"dept\"},{\"checked\":false,\"children\":[],\"chkDisabled\":false,\"icon\":\"\",\"iconClose\":\"\",\"iconOpen\":\"\",\"iconSkin\":\"organ_icon_dept\",\"id\":\"34B62085CD2C464E8BE9C896BD46E69D\",\"isParent\":false,\"name\":\"退休科\",\"nocheck\":false,\"open\":false,\"type\":\"dept\"},{\"checked\":false,\"children\":[],\"chkDisabled\":false,\"icon\":\"\",\"iconClose\":\"\",\"iconOpen\":\"\",\"iconSkin\":\"organ_icon_dept\",\"id\":\"B44D8275EFBF4E46A8A39F0BF2D54F17\",\"isParent\":false,\"name\":\"机关三科\",\"nocheck\":false,\"open\":false,\"type\":\"dept\"},{\"checked\":false,\"children\":[],\"chkDisabled\":false,\"icon\":\"\",\"iconClose\":\"\",\"iconOpen\":\"\",\"iconSkin\":\"organ_icon_dept\",\"id\":\"9263C2702E5140A6A6C7B026E5A17377\",\"isParent\":false,\"name\":\"机关四科\",\"nocheck\":false,\"open\":false,\"type\":\"dept\"}]";
int start=strJson.indexOf("[");
int end=strJson.lastIndexOf("]")+1;
//将数据分成jsonArray
String jsonStr=strJson.substring(start, end);
JSONArray jsonArray = JSONArray.fromObject(jsonStr);
for (Object object : jsonArray) {
net.sf.json.JSONObject jsonObject= net.sf.json.JSONObject.fromObject(object);
OrganizationEntity entity=(OrganizationEntity) net.sf.json.JSONObject.toBean(jsonObject, OrganizationEntity.class);
jwzbMapper.insert(entity);
}
}
}