java - 从 RESTClient 获取的结果中解析具体数据

标签 java selenium

我正在通过 selenium IDE 测试注册流程。我正在使用 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;
}

我必须删除大括号 block ,直到我在其他 ID 中找到特定 ID。

谢谢, Java 初学者

最佳答案

s.indexOf("},") 中似乎该值不包含任何 "}," 字符,因此 的返回值code>int n = s.indexOf("},");-1,那么当你调用s.delete(m, n); n的值小于m,之后方法throw new StringIndexOutOfBoundsException()异常,所以你需要验证字符串 value 如果包含 "}," 或者您可以跳过删除如果 (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;
    }

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

关于java - 从 RESTClient 获取的结果中解析具体数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19170959/

相关文章:

python - 如何为 selenium 设置 geckodriver?

java - Eclipse 建议更改代码。我必须如何以及在何处实例化导入类的对象?

java - 创建新的数组对象会导致出现几个错误

java - J2EE 中的应用程序管理事务

java - 如何使用 itext java 设置默认缩放 100%

java - google 在 Java 中如何替代 awt 和 swing?

javascript - Capybara/Selenium 在 location.reload() 上随机获取一个 Net::ReadTimeout

ruby - 在 headless (headless) EC2 机器上运行 Selenium ?

java - 断言网页中缺少元素,给出 NoSuchElementException