如何验证任何Http请求的响应是否有效JSON?

时间:2017-12-08 10:55:51

标签: java json parsing jackson httpresponse

假设我在json / xml中有一个Http请求,当我发布此请求然后我们得到一些JSON响应,那么首先我需要验证这个响应是否有效json或者不是在java.how中一次性做到这一点? / p>

2 个答案:

答案 0 :(得分:0)

一个疯狂的想法,尝试解析它并捕获异常:

public boolean isJSONValid(String test) {
    try {
        new JSONObject(test);
    } catch (JSONException ex) {

        // e.g. in case JSONArray is valid as well...
        try {
            new JSONArray(test);
        } catch (JSONException ex1) {
            return false;
        }
    }
    return true;
}

答案 1 :(得分:0)

你可以尝试反序列化,如果它通过了反序列化,那么它是一个有效的Json,如果你的Json无效,它将为你返回一个例外,尝试这样的事情:

  //I'm using proxy with this request
  RESTResponse response = await WebServiceProxy.GetInstance().Request(connection);

           //Check if the response is a OK
            if (response.statusCode == System.Net.HttpStatusCode.OK)
            {

                try
                {
                    var obj = JsonConvert.DeserializeObject(response.content);

                 } catch(Exception ex) {  }
            }