json解析样例 获取key value

  <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.44</version>
  </dependency>
public static List<String> parseApiResult(String result) {
       if (StringUtils.isBlank(result)) {
          return null;
       }
       if (result instanceof String) {
            result = String.valueOf(result);
        } else {
            result = JSON.toJSONString(result);
      }
    JSONObject jsonResult = JSON.parseObject(result);
    String data = jsonResult.getString("code");
    if (StringUtils.isBlank(data) || !"200".equals(data)) {
        return null;
    }
    
    Object value = jsonResult.get("value");
    if (null == value) {
        return null;
    }
    List<String> menuList = Lists.newArrayList();
    if (value instanceof JSONArray) {
        JSONArray jsonArray = jsonResult.getJSONArray("value");
        for(int i=0; i<jsonArray.size(); i++){
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            Iterator iter = jsonObject.entrySet().iterator();
            while(iter.hasNext()){
                Map.Entry entry = (Map.Entry) iter.next();
                //entry.getValue().toString()
                menuList.add(entry.getKey().toString());
            }
        }
    }else {
        Map maps = (Map) JSON.parse(value.toString());
        for (Object map : maps.entrySet()) {
            //(Map.Entry) map).getValue()  stream循环也行
            menuList.add(((Map.Entry) map).getKey().toString());
        }
    }
    return menuList;
}

版权声明:本文为qq_28434529原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。