Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从RESTClient获得的结果中解析特定数据_Java_Selenium - Fatal编程技术网

Java 从RESTClient获得的结果中解析特定数据

Java 从RESTClient获得的结果中解析特定数据,java,selenium,Java,Selenium,我正在通过SeleniumIDE测试注册流程。我正在使用REST客户端获取数据,并从获得的结果中提取特定信息(在我的代码ID中)。当我删除(对于delete方法)一段代码并重复它直到获得ID时,我得到了索引越界异常。我的代码如下所述: StringBuffer s = new StringBuffer(value) for(int x=0; x<value.length()-9;){ int m = s.indexOf(value, x); int n = s.indexOf(

我正在通过SeleniumIDE测试注册流程。我正在使用REST客户端获取数据,并从获得的结果中提取特定信息(在我的代码ID中)。当我删除(对于delete方法)一段代码并重复它直到获得ID时,我得到了索引越界异常。我的代码如下所述:

StringBuffer s = new StringBuffer(value)
for(int x=0; x<value.length()-9;){
   int m = s.indexOf(value, x);
   int n = s.indexOf("},");
   s.delete(m, n);
   x += n+1;
}
StringBuffer s=新的StringBuffer(值)

对于(int x=0;x在
s.indexOf(“},”)
中,该值似乎不包含任何
“}”字符,因此
int n=s.indexOf(“},”);
的返回值为
-1
,然后在调用
s.delete(m,n)时
n
的值小于
m
,之后方法
抛出新的StringIndexOutOfBoundsException()
异常,因此如果包含
“}”,则需要验证字符串
或者如果
(n!=-1&&m!=-1)

守则:

    StringBuffer s = new StringBuffer(value);
    for (int x = 0; x < value.length() - 9;) {
        int m = s.indexOf(value, x);
        int n = s.indexOf("},");
        if (n != -1 && m != -1) {
            s.delete(m, n);
        }
        x += n + 1;
    }
stringbuffers=新的StringBuffer(值);
对于(int x=0;x

我不知道
value.length()-9
x+=n+1
的逻辑是什么,顺便说一句,如果需要解析Restful Web服务,请使用一些API(例如XML DOM库、XPP、JSON)更好、更简单,解析取决于响应类型XML或JSON。

我不知道您试图提取的是什么,也不知道IOOBE来自何处。1)给出一个
值的示例,2)给出一个您试图提取的示例,&3)提供显示异常的堆栈跟踪。另外,从值的长度中减去9有什么意义?@sircapsalot谢谢:-)