当前位置:  开发笔记 > 编程语言 > 正文

C#Newtonsoft - 值不能为空

如何解决《C#Newtonsoft-值不能为空》经验,为你挑选了1个好方法。

我正在尝试修复我制作的WinForms程序中的错误; 我正在解析一个JSON字符串,然后将一些结果放入各种变量中.

有时,JSON的特定元素不存在(出于真正的原因),所以我尝试使用以下代码处理它:

        int scriptVersion;
        if ((int)token.SelectToken("scriptVersion") == null)
        {
            scriptVersion = 0;
        }
        else
        {
            scriptVersion = (int)token.SelectToken("scriptVersion");
        }

这仍然会在此代码的第二行中抛出'Value not not null'错误 - 我应该做一些不同的事情来处理JSON中不存在该元素的情况吗?



1> m1o2..:

您正在将JToken转换为int 类型的int .值类型不能为null.

该JToken.SelectToken方法返回一个JToken对象,它是一个引用类型,并且因此可以为空.删除演员,它应该工作.

if (token.SelectToken("scriptVersion") == null)

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有