0

私はミドルウェアに対してアクションを実行し、その成功が成功した場合、次のように値を取得します

String result = ["RESULT","DELETE","OK"]

そして、操作が失敗した場合、私は次のように応答を取得します

String result = ["RESULT","DELETE","ERROR"]

操作が成功したか失敗したかを知る必要があるので、これを実行しました

public class Test {

    public static void main(String args[]) {

        String result = "[\"RESULT\",\"DELETE\",\"ERROR\"]";

        if (!result.contains("ERROR")) {
            System.out.println("success");
        } else {
            System.out.println("Failed");
        }

    }

これは正常に機能していますが、これが悪影響を与えるかどうか、またはコードが失敗する可能性があるかどうかはわかりません。

より良いアプローチがあるかどうか提案してください。

4

3 に答える 3

3

たとえば、成功メッセージが含まれている場合、コードは失敗するERROR可能性があります(可能性は低いですが、発生する可能性があります)。

ライブラリを使用して結果をリスト/配列に解析する必要があります。JavaでJson文字列をオブジェクトに解析するためのソリューションについてはStackOverflowをご覧ください(たとえば、Jacksonはこれを行うためのライブラリです)。

また、事前に設定された数の仮説に対して検証する必要があります。たとえば、enum可能な結果タイプのを作成し、それがそれらの1つであるかどうかを確認します。

于 2013-02-19T13:33:46.460 に答える
0

ここでは、配列の代わりにオブジェクト表示を使用することをお勧めします。

{
 "RESULT": {
   "operation": "DELETE",
   "status" : "ERROR"
 }
}

JavaオブジェクトでJSONを解析するためのツールがたくさんあります: http ://www.json.org/

それ以外の場合、コードのセットを拡張するのは困難です。例えば

String result = "[\"RESULT\",\"CREATE\",\"USER\", \"LOGIN\", \"ERROR\", \"SUCCESS\"]";

エラーはありましたか?またはログインエラーのあるユーザーが正常に作成されましたか?

于 2013-02-19T13:35:36.880 に答える
-1
String[] result = {"RESULT","DELETE","OK"};
    if(Arrays.asList(result).contains("OK"))
        System.out.println("Ok");

Arrays.asList()メソッドを試して、指定された配列にその要素が含まれているかどうかを確認してください。

于 2013-02-19T13:33:43.093 に答える