解析时如何处理int和int64 json

How to handle int and int64 when parsing json

我有一个循环遍历 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 被转换并返回之后,当您获取 long 值并尝试使用静态转换将其填充到 int 中时。 试试这个:

long amount = resource.First.ToObject<long>();