fastjson的简单使用

2019-04-15 18:35发布

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> listKeyMaps(String jsonString) { List> list = new ArrayList>(); try { list = JSON.parseObject(jsonString, new TypeReference>>(){}); } catch (Exception e) { // TODO: handle exception } return 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(博主的博客还不错哦)