1

セレン IDE を介して登録フローをテストしています。REST クライアントを使用してデータを取得し、得られた結果から (コード ID で) 特定の情報を抽出しています。コードのチャンクを (delete メソッドのために) 削除し、ID を取得するまでそれを繰り返している間に、Index Out of bound Exception が発生しています。私のコードは以下のとおりです。

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;
}

他の ID の present の中から特定の ID が見つかるまで、中括弧のチャンクを削除する必要があります。

ありがとう、Java初心者

4

1 に答える 1

3

"},"値にはinの文字が含まれていないようです。s.indexOf("},")このため、の戻り値はint n = s.indexOf("},");is です。その後、 less thanの値-1を呼び出すと、その後メソッド例外が発生します。したがって、含まれている場合は文字列を検証する必要があります。またはスキップすることができます削除する場合s.delete(m, n);nmthrow 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() - 9とのロジックが何なのかわかりません. x += n + 1, ところで, Restful WebService を解析する必要がある場合は, いくつかの API (例えば XML DOM ライブラリ, XPP, JSON) を使用する方が良くて簡単です. 解析は XML の応答タイプに依存します.またはJSON。

于 2013-10-04T01:19:03.713 に答える