我正在尝试修复我制作的WinForms程序中的错误; 我正在解析一个JSON字符串,然后将一些结果放入各种变量中.
有时,JSON的特定元素不存在(出于真正的原因),所以我尝试使用以下代码处理它:
int scriptVersion; if ((int)token.SelectToken("scriptVersion") == null) { scriptVersion = 0; } else { scriptVersion = (int)token.SelectToken("scriptVersion"); }
这仍然会在此代码的第二行中抛出'Value not not null'错误 - 我应该做一些不同的事情来处理JSON中不存在该元素的情况吗?
您正在将JToken转换为int 类型的int .值类型不能为null.
该JToken.SelectToken方法返回一个JToken对象,它是一个引用类型,并且因此可以为空.删除演员,它应该工作.
if (token.SelectToken("scriptVersion") == null)