今天在接口对接中,遇到一个问题,对方接口返回的JSONString,类型不确定,所以需要先做判断再进行处理。查阅资料后使用JSONTokener可进行处理,特此记录。

             String ret = orderapi.invoke(apiparam.toString());

                     Object object = new JSONTokener(ret).nextValue();

                     //判断返回数据是JSONArray还是JSONObject
if(object instanceof JSONObject){
retJson = (JSONObject)object;
}else{
JSONArray retArray = (JSONArray)object;
retJson = (JSONObject) retArray.get(0);
}

注:此处使用的是net.sf.json包中的JSON工具。

05-07 15:56