0

簡単に、特定の文字列が適切な JSON 形式であるかどうかを確認できますか? 私たちが使用できるように

http://jsonlint.com/

http://jsonviewer.stack.hu/など

しかし、同じタスクをプログラムで実行したい場合、現在私が使用しようとしているのと同じようにアンドロイドでバリデーターメソッドを作成する方法は次のとおりです。

与えられた関数を書いたので、これはこれを達成するための適切な方法ですか

public boolean isJSONValid(String test) {

    try {
        new JSONObject(test);
        return true;
    } catch (JSONException ex) {
        try {
            new JSONArray(test);
            return true;
        } catch (JSONException ex1) {
            return false;
        }
    }
}

何か良いものがあれば提案してください。サービスが正しいjsonを処理することがわかっているため、これらすべてをテストケースで確認する必要があります。

4

3 に答える 3

3

これを試して..

 try {
        Object obj = new JSONTokener(test).nextValue();

        if (obj instanceof JSONObject)
              //you have an object
        else if (obj instanceof JSONArray)
              //you have an array

    } catch (JSONException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
于 2014-04-03T05:41:06.880 に答える
1

これはあなたを助けるかもしれません、

public boolean isJSONValid(String test)
{
    try {
        new JSONObject(test);
        return true;
} catch(JSONException ex) { 
    return false;
   }
}
于 2014-04-03T05:28:15.737 に答える
0

以下の方法で確認するとよいと思いますが、

public boolean isJSONValid(String test) 
{
    try 
    {
        new JSONObject(test);
        // If JsonObject is ok then check for JSONArray
        try 
        {
            new JSONArray(test);
            return true;
        } catch (JSONException ex1) {
            return false;
        }
    } catch (JSONException ex) {
        try 
        {
            new JSONArray(test);
            return true;
        } catch (JSONException ex1) {
            return false;
        }
    }
}
于 2014-04-03T05:25:16.610 に答える