import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import java.util.HashMap;
import java.util.Iterator;
public class Analysis {
private HashMap map;
private JsonConfig jc;
public Analysis() {
jc = new JsonConfig();
jc.setClassMap(new HashMap<Object,Object>());
jc.setRootClass(HashMap.class);
jc.setArrayMode(JsonConfig.MODE_LIST);
map = new HashMap<String, String>();
}
public HashMap getRespose(String expected, String index, int instance){
String temp = "";
if(index != null){
temp = index;
}
JSONObject jsonObject = JSONObject.fromObject(
JSONObject.fromObject(expected.toString()), jc);
Iterator<String> it = jsonObject.keys();
String args = temp;
while (it.hasNext()){
String key = it.next();
temp = args + "." + key;
if(instance != -1){
temp = args + "[" + instance + "]" + "." + key ;
}
Object vaule = jsonObject.get(key);
Log.commentStep(temp);
if(vaule instanceof JSONObject){
getRespose(jsonObject.get(key).toString(), temp, -1);
}
else if(vaule instanceof JSONArray){
JSONArray arrays = (JSONArray) vaule;
for(int i = 0; i < arrays.size(); i++){
StringBuilder str = new StringBuilder(arrays.getJSONObject(i).toString());
try {
getRespose(str.toString(), temp, i);
} catch (Exception e) {
Log.commentStep(temp + vaule.toString() + " 不符合规范");
}
}
}
else{
map.put(temp, vaule.toString());
}
}
return map;
}
}