有时,我们需要判断字符串在转化为JSON对象或者JSONArray时,我们可以使用JSONObject.parseObject和JSONArray.parseArray,但是有时候我们需要在转化之前判断该字符串是否能够被转化为JSON对象或者数组。由于没有找到较好的方法,只能暂时用以下方法了。

/**
* 判断字符串是否可以转化为json对象
* @param content
* @return
*/
public static boolean isJsonObject(String content) {
    // 此处应该注意,不要使用StringUtils.isEmpty(),因为当content为"  "空格字符串时,JSONObject.parseObject可以解析成功,
    // 实际上,这是没有什么意义的。所以content应该是非空白字符串且不为空,判断是否是JSON数组也是相同的情况。
    if(StringUtils.isBlank(content))
        return false;
    try {
        JSONObject jsonStr = JSONObject.parseObject(content);
        return true;
    } catch (Exception e) {
        return false;
    }
}

 

/**
* 判断字符串是否可以转化为JSON数组
* @param content
* @return
*/
public static boolean isJsonArray(String content) {
    if(StringUtils.isBlank(content))
        return false;
    try {
        JSONArray jsonStr = JSONArray.parseArray(content);
        return true;
    } catch (Exception e) {
        return false;
    }
}

 

————————————————
版权声明:本文为CSDN博主「dofaster」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/llmys/article/details/80207670