我想把json反序列化为C#对象。这个json基本上看起来像这样:
{ "hexValue": "0x9a7f" }
我的POCO长这样:
public class HexTest
{
public int hexValue;
}
我在这篇问答中读到Newtonsoft支持反序列化十六进制的值。但说实话,那些发行说明是十年前发布的了。我甚至在这里阅读了一些源代码,其中似乎有解析以 "0x" 开头的十六进制格式字符串的代码。但是,无论我尝试使用何种类型,始终会出现以下异常:
Could not convert string to int: 0x9a7f.
无论我尝试使用int long decimal Decimal等类型,都无济于事。从源代码中看来,Decimal类型应该管用,但什么都不起作用。Newtonsoft是否真的支持将以字符串形式定义的十六进制值转换为某种数值数据类型?
当然,我知道可以使用上面链接中的信息来自定义支持它,但如果内置支持存在,我真的更愿意使用内置支持。
{ "hexValue": 0x9a7f }
吗?或者你真的是想要它成为字符串吗? - Fildor