[alibaba/fastjson]JSON.parseObject 有null报错

2024-10-16 539 views
9

String str = "{\"name\":\"ttt\",\"sex\":null}"; Hashtable<String,Object> ht1 = JSON.parseObject(str, Hashtable.class); System.out.println(ht1); 上面代码 sex 是null ,报java.lang.NullPointerException ,

回答

7

你好,因为 Hashtable 不允许 null 为键或者值,所以会报错空指针,和 JSON 解析没有关系。

比如: Hashtable<String, Object> hashtable = new Hashtable<>(); hashtable.put("sex", null); 也会报错:java.lang.NullPointerException

至于为什么Hashtable 不允许 null 为键或者值,可以看这里

:)

8

谢谢 moqimoqidea 的答复,但是往往客户端传来的一大串字符串本身有null,我之前的做法直接转换成hashtable 这个办法就行不通了.我认为底层代码里最好判断是否是null最好

9

有什么特别的原因要使用 Hashtable 吗?这个类已经不推荐使用了,如果是为了保证线程安全是否可以从其他地方入手呢?

你可以留下你的邮箱或者其他联系方式,我们可以聊一聊你的业务场景。

6

谢谢你答复,我是测试的时候用到HashTable.