JSON循环遍历解析

使用递归方式遍历JSON,解析JSON用的是:net.sf.json, alibaba.fastjson测试可用

 1  @Test
 2     public void test() {
 3         String json = "{}";
 4         test2((Map) JSONObject.fromObject(json));
 5     }
 6 
 7     private void test1(Map.Entry<String, Object> entry) {
 8         if (entry.getValue() instanceof JSONArray) {
 9             System.out.println("key=" + entry.getKey());
10             List<Map<String, Object>> list = (List<Map<String, Object>>) entry.getValue();
11             for (Map<String, Object> map : list) {
12                 test2(map);
13             }
14         } else if (entry.getValue() instanceof JSONObject) {
15             System.out.println("key=" + entry.getKey());
16             Map jsonMap = (Map) JSONObject.fromObject(entry.getValue());
17             test2(jsonMap);
18         } else {
19             System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
20         }
21     }
22 
23     private void test2(Map map) {
24         Iterator<Map.Entry<String, Object>> it = map.entrySet().iterator();
25         while (it.hasNext()) {
26             Map.Entry<String, Object> en = it.next();
27             test1(en);
28         }
29     }

 

转载于:https://www.cnblogs.com/xu-xiao/p/8133910.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值