调用接口,想要抽取返回json串特定的项目
用java实现,亲测好使
主方法:
public static void main(String[] args)***{***
一.调用http接口
JSONObject resp =http接口地址.send
二.准备对返回的JSON进行分解
Stack<JSONObject> stObj = new Stack<JSONObject>();
stObj.push(resp);
Map<String, Object> resultMap = new HashMap<String, Object>();
try {
JsonToMap(stObj, resultMap);
} catch (IOException e) {
e.printStackTrace();
}
}
二.具体的分解方法
private static void JsonToMap(Stack stObj, Map<String, Object> resultMap) throws IOException {
if (stObj == null && stObj.pop() == null) {
return;
}
JSONObject json = stObj.pop();
Iterator it = json.keys();
while (it.hasNext()) {
String key = (String) it.next();
//得到value的值
Object value = json.get(key);
//System.out.println(value);
//这块的实现是为了遍历 层层包着的json格式
if (value instanceof JSONObject) {
stObj.push((JSONObject) value);
//递归遍历
JsonToMap(stObj, resultMap);
} else {
resultMap.put(key, value);
}
}
}