JSON忽略任何具有空值的参数。因此,当我使用JsonConverter.ExportToString创建一个字符串时,这些属性将丢失。此外,任何具有空值的整数都将替换为-2147483648
当我尝试反序列化此字符串时,这成为一个问题(我正在编写自己的反序列化器而不使用Json.Import)
处理此问题的最佳方式是什么?
答案 0 :(得分:4)
我不确定我是否理解这个问题。 JSON只是javascript的一个子集,具有null值的属性可以表示如下:
{"property1": 1, "property2": null}
在这种情况下,property1
是数字且值为1,而property2
的值为null
。我不确定Json.Import和JsonConverter.ExportToString调用来自哪个库。无论如何,为整数分配空值是典型的“强类型说话”。在javascript中,将null赋给数字(js中没有整数)只会使该变量停止为数字。
所以也许你应该给我们更多的背景:使用的库,你使用的数据语言(显然不是javascript)。
答案 1 :(得分:0)
您可以使用空字符串,即“”而不是null,并使用占位符编号,例如-2147483648表示空整数值?