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