JSON获取数组——读完你就读懂了JSON

JSON获取数组没有什么好说的,java里面直接使用json的JSONArray类即可:

JSONArray strArray = mjson.getJSONArray("Array");

但我们有时候获取的json结构往往不是这么简单的,例如下面:
{“a”:1,”b”:2,”c”:{“d”:3,”e”:4,”f”:[{“g”:5,”h”:6},{“g”:7,”h”:8}]}}
解析后是这样(注意区分中括号和大括号):

json

可以看出这个json串中包含一个数组f,通过上述方法获取到很麻烦,这里使用jackson的ObjectMapper类对其进行解析。json中的集合只能解析为两种:map和list,显然在上述json串中,我们要将数组f解析为list,而整个json串和c要解析为map,按这个思路解析代码如下:

ObjectMapper mapper = new ObjectMapper();
Map<String, Object> jsonMap = null;
//将json串为map,注意实际使用时需要加try catch
jsonMap = mapper.readValue(json, Map.class);
//获取c
Map<String, Object> cMap = (Map<String, Object>)jsonMap.get("c");
//获取f
List<Map<String, Object>> fList = (List<Map<String, Object>>) cMap.get("f");
//遍历f
for(int i=0; i<fList.size(); i++){...}
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值