在Java中,我們經(jīng)常需要判斷一個(gè)字符串是否是JSON格式的數(shù)據(jù),這在接口開(kāi)發(fā)和數(shù)據(jù)處理中很常見(jiàn)。
判斷字符串是否是JSON格式可以通過(guò)正則表達(dá)式或者使用JSON庫(kù)來(lái)實(shí)現(xiàn)。
利用正則表達(dá)式來(lái)判斷字符串是否為JSON格式:
public static boolean isJSON(String str) { if (StringUtils.isBlank(str)) { return false; } try { new JSONObject(str); } catch (JSONException ex) { try { new JSONArray(str); } catch (JSONException ex1) { return false; } } return true; }
利用JSON庫(kù)來(lái)判斷字符串是否為JSON格式:
public static boolean isJSON(String str) { if (StringUtils.isBlank(str)) { return false; } try { JsonParser parser = new JsonParser(); JsonElement jsonElement = parser.parse(str); if (jsonElement.isJsonObject() || jsonElement.isJsonArray()) { return true; } } catch (Exception e) { return false; } return false; }
無(wú)論是利用正則表達(dá)式還是JSON庫(kù)來(lái)判斷字符串是否為JSON格式,我們都需要注意傳入的字符串是否為空或者null。
希望這篇文章能對(duì)大家在判斷字符串是否為JSON格式時(shí)提供一些幫助。