检测令牌是否存在的最佳方法是什么?我正在使用简单的方法来捕获错误,如果它发生但是必须有一种方法来检测它是否存在:
try { Response.Write(token["key"]); }
catch { }
我尝试过这样的事情:
if (token["disambiguated"].FirstOrDefault().HasValues)
但这似乎不起作用。
谢谢, 史蒂夫。
答案 0 :(得分:7)
token["disambiguated"] == null
检查该令牌是否存在
token["disambiguated"].HasValues
检查该令牌是否具有值
答案 1 :(得分:0)
你如何填充令牌?如果token
是实例化(非空)值,则token["key"]
应该只返回null,而不是抛出异常。如果token
为null,显然会抛出一个null异常,所以你需要做的就是确保token
不为null。我刚刚在最新版本的json.net上测试了这个。
答案 2 :(得分:-1)
我不喜欢使用JSON.NET来反序列化JSON,但是如果你使用的是C#4,那么你可以通过动态代码获得一个非常简单的解决方案。
我发布了some code here,允许您像上面这样编写上面的代码:
if (token.key!=null)
Response.Write(token.key);
如果您只使用JSON.NET反序列化JSON,那么这对您来说可能是一个更简单的解决方案。