在Java中,有時候需要對字符串進行判斷,看其是否為JSON格式。判斷字符串是否為JSON格式,其實就是要驗證字符串是否符合JSON數據格式的語法規范。
判斷字符串是否為JSON格式,可以使用Java的JSON庫,在其中提供了判斷JSON數據的方法。我們可以使用底層的JSON庫解析JSON字符串,如果解析出現異常,說明該字符串不符合JSON格式;否則,表示該字符串是符合JSON規范的。
/** * 判斷字符串是否為JSON格式 * @param str 字符串 * @return 是否為JSON格式 */ public static boolean isJson(String str) { try { JSONObject.parse(str); } catch (JSONException e) { try { JSONArray.parse(str); } catch (JSONException e1) { return false; } } return true; }
以上是使用Java JSON庫解析JSON字符串的方法,當然也可以使用Java正則表達式對JSON格式進行判斷,正則表達式如下:
/** * 判斷字符串是否為JSON格式 * @param str 字符串 * @return 是否為JSON格式 */ public static boolean isJson(String str) { if (str == null || str.trim().length() == 0) { return false; } return str.matches("^\\{|\\}$|^\\[|\\]$|^\\[\\{|\\}$|\\}|,\")|(,\\[)|(\\}\\{)|(:,)\""); }
以上是使用Java正則表達式對JSON格式進行判斷的方法。無論使用哪種方法,都只需要傳入需要判斷的字符串即可快速得到判斷結果。