json数据解析

今天来分享一下json数据的解析现在有这样一堆json数据,这些数据是调用书店煤充值接口拿到的

{
    "admin_item_response": {
        "pageNo": 0,
        "pageSize": 10,
        "totalCount": 12,
        "items": {
            "item": [{
                "itemId": "64398201",
                "itemName": "河南郑州 国网河南省电力公司(郑州) 电费 户号 直充任意充",
                "inPrice": null
            }, {
                "itemId": "6439800",
                "itemName": "河南郑州 郑州华润燃气股份有限公司 燃气费户号 任意充直充",
                "inPrice": null
            }, {
                "itemId": "64684901",
                "itemName": "河南郑州 郑州华润燃气股份有限公司燃气费户号直充任意充",
                "inPrice": null
            }, {
                "itemId": "64685001",
                "itemName": "河南郑州登封郑燃燃气有限公司燃气费户号直充任意充",
                "inPrice": null
            }, {
                "itemId": "64532202",
                "itemName": "河南郑州国网河南省电力公司(登封)电费户号直充任意充",
                "inPrice": null
            }, {
                "itemId": "64532302",
                "itemName": "河南郑州国网河南省电力公司(巩义)电费户号直充任意充",
                "inPrice": null
            }, {
                "itemId": "64534302",
                "itemName": "河南郑州国网河南省电力公司(新密)电费户号直充任意充",
                "inPrice": null
            }, {
                "itemId": "64534502",
                "itemName": "河南郑州国网河南省电力公司(新郑)电费户号直充任意充",
                "inPrice": null
            }, {
                "itemId": "64685901",
                "itemName": "河南郑州新密市自来水公司水费户号直充任意充",
                "inPrice": null
            }, {
                "itemId": "64686001",
                "itemName": "河南郑州郑州高新供水有限责任公司水费户号直充任意充",
                "inPrice": null
            }]
        }
    }
}

第一种用jsonObject解析


             JSONObject obj1 = JSONObject.fromObject(str);
             JSONObject data = obj1.getJSONObject("admin_item_response");
             JSONObject items = data.getJSONObject("items");
             JSONArray item = items.getJSONArray("item");
             List<Map<String, String>> result = new ArrayList<Map<String, String>>();

             for (int i = 0; i < item.size(); i++) {
             JSONObject bean = item.getJSONObject(i);
             Map<String, String> beanMap = new HashMap<String, String>();
             beanMap.put("id", String.valueOf(bean.get("itemId")));
             beanMap.put("name", String.valueOf(bean.get("itemName")));
             beanMap.put("price", String.valueOf(bean.get("inPrice")));
             result.add(beanMap);

第二种使用GSON,首先要在项目里导入Gson的jar包
然后根据json建实体类,关于建实体类,可以在网上找一个自动生成的网站:http://www.bejson.com/json2javapojo/new/
实体类如下:

import java.util.List;

public class tempClass {
    private Admin_item_response admin_item_response;

    public void setAdmin_item_response(Admin_item_response admin_item_response) {
        this.admin_item_response = admin_item_response;
    }

    public Admin_item_response getAdmin_item_response() {
        return admin_item_response;
    }

    class Admin_item_response {

        private int pageNo;
        private int pageSize;
        private int totalCount;
        private Items items;

        public void setPageNo(int pageNo) {
            this.pageNo = pageNo;
        }

        public int getPageNo() {
            return pageNo;
        }

        public void setPageSize(int pageSize) {
            this.pageSize = pageSize;
        }

        public int getPageSize() {
            return pageSize;
        }

        public void setTotalCount(int totalCount) {
            this.totalCount = totalCount;
        }

        public int getTotalCount() {
            return totalCount;
        }

        public void setItems(Items items) {
            this.items = items;
        }

        public Items getItems() {
            return items;
        }

        @Override
        public String toString() {
            return "Admin_item_response [pageNo=" + pageNo + ", pageSize=" + pageSize + ", totalCount=" + totalCount
                    + ", items=" + items + "]";
        }

    }

    class Items {

        private List<Item> item;

        public void setItem(List<Item> item) {
            this.item = item;
        }

        public List<Item> getItem() {
            return item;
        }

        @Override
        public String toString() {
            return "Items [item=" + item + "]";
        }

    }

    class Item {

        private String itemId;
        private String itemName;
        private String inPrice;

        public void setItemId(String itemId) {
            this.itemId = itemId;
        }

        public String getItemId() {
            return itemId;
        }

        public void setItemName(String itemName) {
            this.itemName = itemName;
        }

        public String getItemName() {
            return itemName;
        }

        public void setInPrice(String inPrice) {
            this.inPrice = inPrice;
        }

        public String getInPrice() {
            return inPrice;
        }

        @Override
        public String toString() {
            return "Item [itemId=" + itemId + ", itemName=" + itemName + ", inPrice=" + inPrice + "]";
        }

    }

    @Override
    public String toString() {
        return "tempClass [admin_item_response=" + admin_item_response + "]";
    }

}

然后直接进行把json转化成对象解析

    String jsonStr = json数据;
    Gson gson = new Gson();
    tempClass bean = gson.fromJson(jsonStr, tempClass.class);
    System.out.println(bean.getAdmin_item_response().getItems().getItem().get(0).getItemId());*/

想拿到那个数据直接点就行了,非常方便,希望能够帮助到大家

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值