您的位置:首页 > Web前端 > JavaScript

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

2016-01-19 11:16 651 查看
有的时候后台很好,把一些需要的一些字段全部封装好的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值得步骤
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: