Java中使用JSONTokener判断接口返回字符串是JSONObject还是JSONArray

Posted Coder-Wf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中使用JSONTokener判断接口返回字符串是JSONObject还是JSONArray相关的知识,希望对你有一定的参考价值。

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

 

 1             String ret = orderapi.invoke(apiparam.toString());
 2                     
 3                     Object object = new JSONTokener(ret).nextValue();
 4                     
 5                     //判断返回数据是JSONArray还是JSONObject
 6                     if(object instanceof JSONObject){
 7                         retJson = (JSONObject)object;
 8                     }else{
 9                         JSONArray retArray = (JSONArray)object;
10                         retJson = (JSONObject) retArray.get(0);
11                     }

 

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

以上是关于Java中使用JSONTokener判断接口返回字符串是JSONObject还是JSONArray的主要内容,如果未能解决你的问题,请参考以下文章

Java 中字两个字符串判断是否相等(转载)

java简单接口问题

Android:在 org.json.JSONTokener.nextCleanInternal 注册到服务器 Nullpointerexception

python3中判断字串类型

java如何判断一个类是不是实现了某个接口?

JSONObjectJSONWriter和JSONTokener类的一些用法组织.json