在国内找TJsonObject数据类型对传入null值的处理,度娘不可靠,还是翻墙找外国资料靠谱。
这个问题在2015年已经解决了,
JsonSerializationConfig.NullConvertsToValueTypes := true;
在代码中设置JsonSerializationConfig.NullConvertsToValueTypes的值为True就可以对null解析。当然还有更好的办法,我们可以直接修改 jsonDataObjects 库中的源码,将这个默认值改为true。不是很理解他们设计的时候为什么不直接把这个默认值设为 True 。
var
JsonSerializationConfig: TJsonSerializationConfig = ( // not thread-safe
LineBreak: #10; IndentChar: #9; UseUtcTime: True;
NullConvertsToValueTypes: True; // If True and an object is nil/null, a convertion to String, Int, Long, Float, DateTime, Boolean will return ''/0/False
);