<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;
}