[alibaba/fastjson]反序列化成数组,空值被丢掉了

2025-11-25 457 views
1

String json = "[null,\"A1;1\",\"A2;1\",,,\"A3;1\",\"A4;1\",,,\"A5;1\",\"A6;1\",,,\"A7;1\",\"A8;1\",,,\"A9;1\",\"A10;1\",,,\"A11;1\",\"A12;1\",]"; String[] strings = JSON.parseObject(json, String[].class);

期望不要丢掉空值

回答

4

空值null 没有丢,可以通过strings[0]获取到。 你说的空值是指连续的逗号的情况吗?

0

(抱歉地插一句,我想原问题很大概率上指的是连续逗号的情况,奇怪的为什么不在假定是指连续逗号的情况下继续解释这个问题,而是反问一个问题,这样来来回回,让问问题和回答问题的人都很浪费时间)

4

@moonshy 是连续逗号。顺便提一下,序列化也有bug 想把那个null转成空串,尝试各种Features都不好使

8

谢谢反馈,对String[]的处理漏的对SerializerFeature.WriteNullStringAsEmpty支持,已经修正,可能在这个周末发布新版本。

2

Map中的null则是不好做“”处理,因为类型没了,不知道转成0或者其他。