json数据格式:
{
"data": [
{
"bp_id": "193934",
"from_product": "193933",
"name": "植荟",
"cover": "xxx",
"pic": "xxx",
"big": "xxx",
"content": "111111",
"from_brand": "100",
"price": "65.0"
},
{
"bp_id": "193640",
"from_product": "193639",
"name": "华为xxx",
"cover": "xxx",
"pic": "xxx",
"big": "xxx",
"content": "",
"from_brand": "109",
"price": 705.6
}
],
"total_count": "97",
"page_count": 49
}
1、简单的FastJsonTools工具类
public class FastJsonTools {
public FastJsonTools() {
}
/**
* 对单个javabean的解析
* @param jsonString
* @param cls
* @return
*/
public static T getGoods(String jsonString, Class cls) {
T t = null;
try {
t = JSON.parseObject(jsonString, cls);
} catch (Exception e) {
// TODO: handle exception
}
return t;
}
public static List getGoods(String jsonStriung, Class cls) {
List list = new ArrayList();
try {
list = JSON.parseArray(jsonStriung, cls);
} catch (Exception e) {
// TODO: handle exception
}
return list;
}
public static List
2、Goods.java
public class Goods{
public List> data;//不常用的数据这里我选择了用list>的形式
public String total_count;
public String page_count;
/**
* @return the data
*/
public List> getData() {
return data;
}
/**
* @param data the data to set
*/
public void setData(List> data) {
this.data = data;
}
/**
* @return the total_count
*/
public String getTotal_count() {
return total_count;
}
/**
* @param total_count the total_count to set
*/
public void setTotal_count(String total_count) {
this.total_count = total_count;
}
/**
* @return the page_count
*/
public String getPage_count() {
return page_count;
}
/**
* @param page_count the page_count to set
*/
public void setPage_count(String page_count) {
this.page_count = page_count;
}
}
上面的代码用对象的方式,可以这样写:
public class Goods{
public List data;
public String total_count;
public String page_count;
/**
* @return the data
*/
public List getData() {
return data;
}
/**
* @param data the data to set
*/
public void setData(List data) {
this.data = data;
}
/**
* @return the total_count
*/
public String getTotal_count() {
return total_count;
}
/**
* @param total_count the total_count to set
*/
public void setTotal_count(String total_count) {
this.total_count = total_count;
}
/**
* @return the page_count
*/
public String getPage_count() {
return page_count;
}
/**
* @param page_count the page_count to set
*/
public void setPage_count(String page_count) {
this.page_count = page_count;
}
}
3、GoodsInfo
public class Goods {
public String bp_id;
public String from_product;
public String name;
public String cover;
public String pic;
public String big;
public String content;
public String from_brand;
public String price;
/**
* @return the bp_id
*/
public String getBp_id() {
return bp_id;
}
/**
* @param bp_id the bp_id to set
*/
public void setBp_id(String bp_id) {
this.bp_id = bp_id;
}
/**
* @return the from_product
*/
public String getFrom_product() {
return from_product;
}
/**
* @param from_product the from_product to set
*/
public void setFrom_product(String from_product) {
this.from_product = from_product;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the cover
*/
public String getCover() {
return cover;
}
/**
* @param cover the cover to set
*/
public void setCover(String cover) {
this.cover = cover;
}
/**
* @return the pic
*/
public String getPic() {
return pic;
}
/**
* @param pic the pic to set
*/
public void setPic(String pic) {
this.pic = pic;
}
/**
* @return the big
*/
public String getBig() {
return big;
}
/**
* @param big the big to set
*/
public void setBig(String big) {
this.big = big;
}
/**
* @return the content
*/
public String getContent() {
return content;
}
/**
* @param content the content to set
*/
public void setContent(String content) {
this.content = content;
}
/**
* @return the from_brand
*/
public String getFrom_brand() {
return from_brand;
}
/**
* @param from_brand the from_brand to set
*/
public void setFrom_brand(String from_brand) {
this.from_brand = from_brand;
}
/**
* @return the price
*/
public String getPrice() {
return price;
}
/**
* @param price the price to set
*/
public void setPrice(String price) {
this.price = price;
}
}
还有种情况,如果类的成员变量和json的key值不相等,我们可以用以下方式进行序列化和反序列化
序列化(转换成json时):
@JSONField(name="newJsonKey")
public String getName() {
return name;
}
反序列化时(json转换成对象或javabean时):
@JSONField(name="newJsonKey")
public void setName(String name) {
this.name = name;
}
参考地址:
http://my.eoe.cn/814017/archive/3374.html(博主的博客还不错哦)