比较json和fastjson的put()

首先,分别运行下面两段json和fastjson的代码:

import org.json.JSONException;
import org.json.JSONObject;

public class Jsons {
    public static void main(String[] args) throws JSONException {
        JSONObject jsons = new JSONObject();
        jsons.put("key","123");
        
        System.out.println("#1:"+ jsons.toString());
        System.out.println("#2:"+ new JSONObject().put("key", "123").toString());
    }
}
import com.alibaba.fastjson.JSONObject;

public class FastJsons {
    public static void main(String[] args) {
        JSONObject fastJsons = new JSONObject();
        fastJsons.put("kye", "456");
        
        System.out.println("#1:" + fastJsons.toString());
        System.out.println("#2:" + new JSONObject().put("key:", "456").toString() );
    }
    
}

观察两个类,貌似没有什么区别,但是运行之后,控制台打印的结果却是:

// json
#1:{"key":"123"}
#2:{"key":"123"}
// fastjson
#1:{"kye":"456"}
Exception in thread "main" java.lang.NullPointerException
    at day1.FastJsons.main(FastJsons.java:11)

我们发现fastjson中报了异常,然后我们来查看各自put()源码:

// json
/*      */   public JSONObject put(String key, Object value)
/*      */     throws JSONException
/*      */   {
/* 1069 */     if (key == null) {
/* 1070 */       throw new JSONException("Null key.");
/*      */     }
/* 1072 */     if (value != null) {
/* 1073 */       testValidity(value);
/* 1074 */       map.put(key, value);
/*      */     } else {
/* 1076 */       remove(key);
/*      */     }
/* 1078 */     return this;
/*      */   }
// fastjson
/*     */   public Object put(String key, Object value) {
/* 316 */     return map.put(key, value);
/*     */   }

转载于:https://www.cnblogs.com/52liming/p/9537981.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值