快速获取json字段内的数据(减去填写字段的步骤)

有的时候后台很好,把一些需要的一些字段全部封装好的jar包,给我,那样我就无需去写字段,我所要做的就是请求数据,然后根据给的jar包内的字段set进入即可。

而有的时候没有这样情况,更多的是直接请求,自己写bean或HashMap等,那样的话有的时候字段比较少,还好说,但是一旦字段超多,那么一个一个填写超级恶心了,

所以有如下方法(采用HashMap键值对的形式来保存获取到的字段里面的数据)。以后台传给的字段作为key值。例如下面的一段json

{

  "apiVersion": "1.0",

  "code": "0000",

  "functionCode": "product.list",

  "isSuccess": true,

  "message": "成功",

  "record": [

    {

      "brandName": "嘉实多",

      "categoryName": "机油",

      "disPrice": 320,

      "id": 22,

      "inPrice": 320,

      "normalPrice": 350,

      "productAlias": "CB",

      "productCode": "10",

      "productName": "嘉实多大力士CH-4 18L",

      "productPic": "/epeit/20150712/default/fd1f4ce271204c1eba7610b43ad5531c.jpg",

      "productTag": "CB-18",

      "productVolume": 1,

      "promotionStock": 0,

      "saleNum": 971,

      "stock": 42,

      "unit": "桶",

      "vipPrice": 310

    }

  ],

  "total": 37

}

字段如此之多,我主要的需要部分是record内的数据,所以有

JSONArray object_i = objectproductlist.getJSONArray("record");
for (int i = 0; i < object_i.length(); i++) {
	HashMap<String, String> hashmap = new HashMap<String, String>();//保存object_i集合内的一个object
	JSONObject jsonObject = object_i.getJSONObject(i);
	Iterator<String> keys = jsonObject.keys();//key值
	while (keys.hasNext()) {
		String key = keys.next();// 获取key值
		hashmap.put(key, jsonObject.optString(key));//保存某个key下的数据
	}
	productlist.add(hashmap);//保存record下的所有objcet(map)
}


如此就省去了写key值得步骤


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值