首页 > Web开发 > 详细

基于FastJson封装的工具类

时间:2021-06-19 15:07:09      阅读:30      评论:0      收藏:0      [点我收藏+]
import com.alibaba.fastjson.JSONObject;
import com.shopcider.plutus.component.exception.Assert;
import com.shopcider.plutus.component.exception.BizException;

public class JSONUtil {

    /**
     * 连续找jsonObject避免空指针原因太难发现
     * @param jsonObject
     * @param keys
     * @return
     */
    public static JSONObject getJSONObjectByKeys(JSONObject jsonObject, String... keys) {
        Assert.notEmpty(jsonObject, "jsonObject must not null!");
        JSONObject t = jsonObject;
        Object o;
        StringBuilder sb = new StringBuilder();
        for(String k : keys) {
            o = t.get(k);
            if(o == null) {
                sb.append(k);
                throw new BizException("找不到对应的key: " + sb.toString() + " 对象: " + jsonObject.toJSONString());
            } else if(o instanceof JSONObject == false) {
                sb.append(k);
                throw new BizException("key: " + sb.toString() + " 不是ObjectJSON类型而是 " + o.getClass().getName()
                        + " 类型. 对象: " + jsonObject.toJSONString());
            }
            t = (JSONObject) o;
            sb.append(k);
            sb.append(".");
        }
        return t;
    }

}

 

基于FastJson封装的工具类

原文:https://www.cnblogs.com/math-and-it/p/14902553.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!