我正在从一个我无法控制的公共API中提取数据。
一个对象包含属性"space":40110198681182961664
。此属性对于ulong来说太大。
正确的值类型应该是BigInteger
。问题来了。System.Text.Json只能将BigIntegers序列化为string或从string序列化,例如:"space":"40110198681182961664"
我尝试过其他选项,比如序列化为字符串,但是system.text.json不会将数值序列化为字符串。
用system.text.json序列化/反序列化这个值有哪些选项?
1条答案
按热度按时间e5njpo681#
实现自定义值转换器
首先,添加一个能够读取原始值并转换为目标类型的类:
接下来将自定义转换器添加到您的
JsonSerializerOptions
:最后,您需要在类中标记应该被序列化/反序列化的变量: