2016-06-28 29 views
-1

我已经解析的JSON响应:我该如何解决这个错误“无法执行运行时间上的空引用结合” C#

string url = "http://words.bighugelabs.com/api/2/API KEY/" + word.ToString() + "/json"; 

并将其存储在一个字符串命名SBB。 然后,我将sbb存储在动态对象中,以便检索给定单词的特定信息,例如名词。因为它每次都会返回有关单个词的信息。

dynamic foo = JObject.Parse(sbb); 
var ant = foo.adjective.ant; 

但富后,并不总是遵循形容词也可以是名词或别的东西,所以当我尝试看看,如果var为空,我有错误消息。我能做些什么来检查哪种情况是空的? 4例是:

foo.adjective.ant; foo.noun.ant; foo.adverb.ant; foo.verb.ant; 
+1

'如果(foo.adjective!= NULL)'? – CodeCaster

+0

就像一个魅力。谢谢 – BillUser88

回答

0

做一个防守null检查像

if(foo != null && foo.adjective != null) 
+0

谢谢你的工作 – BillUser88

0

如何:

var ant = foo.adjective != null ? foo.adjective.ant : 
      (foo.noun != null ? foo.noun.ant : 
      (foo.adverb != null ? foo.adverb.ant : 
      (foo.verb != null ? foo.verb.ant : null))); 
+0

这么多的三元组! –

相关问题