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工具。

原文地址:https://www.cnblogs.com/coder-wf/p/12127852.html

时间: 2024-10-11 01:48:57

Java中使用JSONTokener判断接口返回字符串是JSONObject还是JSONArray的相关文章

050、Java中使用switch判断,使用字符串判断

01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String[] args) { String str = "HELLO"; switch (str) { // 判断的是字符串 case "HELLO": { System.out.println("内容是HELLO&qu

Java中Comparable和Comparator接口区别分析

Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧.Comparable 简介Comparable 是排序接口.若一个类实现了Comparab 本文要来详细分析一下Java中Comparable和Comparator接口的区别,

ATL接口返回类型&&ATL接口返回字符串BSTR*

感觉在ATL中做COM组件,添加方法的时候,其返回值只能是HRESULT,我想返回其他数据类型,可以吗? 非也非也 HRESULT指示返回的状态,即正确与否, 返回值是这样的 HRESULT MyMethod([in]int p1,[out,retval]int *pRetval); 在VB和脚本里就可以n=obj.MyMethod(123) 这是COM规范规定的,其他同上 COM规范并没有规定接口成员函数一定要返回HRESULT,可以返回其它类型的值,使用其它类型值时,组件没有远程能力,组件不

java 中的2个接口 Comparable和Comparator

像Integer.String这些类型的数据都是已经实现Comparable接口的,所以对这些类型可以直接通过Arrays.sort(...)和Collections.sort(...)方法进行排序.但是对于一些自己new出来的对象而言,如果想使用sort这种方法,必须要实现Comparable接口,这是由sort方法底层决定的,具体看一下实例: 定义一个Bean public class Employee implements Comparable{ private int age;  pri

Java中空值的判断

空值判断的测试代码如下: String str = new String();// System.out.println("1=" + (str == null)); System.out.println("2=" + str.isEmpty()); System.out.println("3=" + str.equals("")); str = "";//空字符串 System.out.println(&

Java中的空值判断

Java中的空值判断 /** * 答案选项: * A YouHaidong * B 空 * C 编译错误 * D 以上都不对 */ package com.you.model; /** * @author YouHaidong * */ public class NullString { /** * @param args */ public static void main(String[] args) { String i = ""; if(i == i + 1) { System

JAVA 中两种判断输入的是否是数字的方法__正则化_

JAVA 中两种判断输入的是否是数字的方法 package t0806; import java.io.*; import java.util.regex.*; public class zhengzehua_test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { System.out.println("请输入第一个数字:"

【Stackoverflow好问题】java中,如何判断数组Array是否包含指定的值

问题 java中,如何判断数组Array是否包含指定的值 精华回答 1. Arrays.asList(...).contains(...) 2. 使用 Apache Commons Lang包中的ArrayUtils.contains String[] fieldsToInclude = { "id", "name", "location" }; if ( ArrayUtils.contains( fieldsToInclude, "i

Java中关于Json对象类型和字符串类型之间互相转化的问题

Java中关于Json格式转化Object,Map,Collection类型和String类型之间的转化在我们实际项目中应用的很是普遍和广泛.最近工作的过程中也是经常有,因此,自己封装了一个JsonUtil.java类. 所需要的jar包:slf4j-jdk14-1.5.6.jar,slf4j-api-1.5.6.jar------>此两个jar包是slf4j日志jar包 jackson-annotations-2.1.1.jar,jackson-core-2.1.1.jar,jackson-d