解析时如何处理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>();
我有一个循环遍历 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>();