JSONType判断方法

来源:互联网 发布:成都网络营销策划公司 编辑:程序博客网 时间:2024/06/10 00:00

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("存在错误,不应该是数组!");        }    }}
原创粉丝点击