java JSON字符串转对象
文中涉及到jar包为:
net.sf.json.JSONArray;
net.sf.json.JSONObject;
话不多,直接撸代码 :
仅供参考
//数据对象格式
String jsonStr = "[{'prov': '陕西省','city': '西安市','area': '莲湖区','street': '东大街'},{'prov': '陕西省','city': '西安市','area': '雁塔区','street': '芙蓉东路'}]";
JSONArray json = JSONArray.fromObject(jsonStr);
//定义一个list集合,存解析出来的对象
List<AddressInfo> address = new ArrayList<AddressInfo>();
if(json.size()>0) {
for (int i = 0; i < json.size(); i++) {
//遍历数组,把每一个对象转成json对象
JSONObject job = json.getJSONObject(i);
//将json对象转成AddressInfo
AddressInfo rsp = (AddressInfo)JSONObject.toBean(job,AddressInfo.class);
//将AddressInfo添加到集合中
address.add(rsp);
}
}
//遍历集合,打印部分值,也可以在此进行,添加数据库,获取导出
address.forEach(item->{
System.out.println(item.getCity());
System.out.println(item.getArea());
});
AddressInfo实体类
public class AddressInfo {
private String prov;
private String city;
private String area;
private String street;
public void setProv(String prov) {
this.prov = prov;
}
public String getProv() {
return prov;
}
public void setCity(String city) {
this.city = city;
}
public String getCity() {
return city;
}
public void setArea(String area) {
this.area = area;
}
public String getArea() {
return area;
}
public void setStreet(String street) {
this.street = street;
}
public String getStreet() {
return street;
}
}
最后是控制台打印出的内容:
西安市
莲湖区
西安市
雁塔区
** 本文仅供参考,另提供一个
在线JSON字符串转Java实体类(JavaBean、Entity)
http://www.bejson.com/json2javapojo/new/?tdsourcetag=s_pcqq_aiomsg
操作方法很简单,
将你的json数据,直接复制进去,就会生成实体类!