我有一个遍历json并获取值的程序。直到找到一个高于int32处理的整数为止。
2021-09-10 08:00:02.7576|ERROR|System.OverflowException: Value was either too large or too small for an Int32.
是否有可能在下面处理int32和int64 ?我试过使用以下命令,但似乎不起作用
int amount = (int)resource.First.ToObject<long>();
foreach (JToken resource in resources["responseData"]["resources"].ToList())
{
string propName = resource.ToObject<JProperty>().Name;
//int amount = (int)resource.First.ToObject<long>();
int amount = resource.First.ToObject<int>();
if (resDef["id"]?.ToString() == propName)
{
没有办法使用'long'。在注释掉的代码中,在JToken强制转换并返回之后,当您获取长值并尝试将其用静态强制转换填充到int中时,会发生溢出异常。试试这个:
long amount = resource.First.ToObject<long>();