JSONType判断方法

xiaoxiao2021-02-28  69

JSONType判断方法

枚举型定义

public enum JSONType { /** JSONObject */ JSON_TYPE_OBJECT, /** JSONArray */ JSON_TYPE_ARRAY, /** 不是JSON格式的字符串 */ JSON_TYPE_ERROR, /** 未找到key */ JSON_TYPE_MISS }

具体实现方法

* @author ampsycho * @Title: getJSONType * @Description: 获得json的json类型 * @param jsonObj json对象 * @param key 对象关键字 * @return JSONType */ public JSONType getJSONType(JSONObject jsonObj, String key) { try { JSONObject json = jsonObj.getJSONObject(key); if (!json.isNullObject()) { return JSONType.JSON_TYPE_OBJECT; } else { return JSONType.JSON_TYPE_MISS; } } catch (Exception e) { JSONArray json = jsonObj.getJSONArray(key); if (!json.isEmpty()) { return JSONType.JSON_TYPE_ARRAY; } else { return JSONType.JSON_TYPE_MISS; } } }

测试示例

public static void main(String[] args) { //jsonStr 为请求过来的json数据 //jsonStr = {"test": {"A": "aa","B": "bb","C": "cc"}}; JSONObject jsonObj = new JSONObject(); jsonObj = JSONObject.fromObject(jsonStr.toString()); JSONType type = getJSONType(jsonObj, "test"); JSONType expect = JSONType.JSON_TYPE_OBJECT; if (type.equals(JSONType.JSON_TYPE_MISS)) { System.out.println("未找到"); } if (!type.equals(expect)) { if (expect.equals(JSONType.JSON_TYPE_ARRAY)) { System.out.println("存在错误,应该是数组!"); } if (expect.equals(JSONType.JSON_TYPE_OBJECT)) { System.out.println("存在错误,不应该是数组!"); } } }
转载请注明原文地址: https://www.6miu.com/read-67800.html

最新回复(0)