2013-03-25 29 views
1

我使用json.net解析JSON和字符串转换为对象这样与json.net和处理nullexception上jobject

Dim jobj As JObject = JObject.Parse(tweet) 
sid = jobj("id").ToString 

这似乎很好地工作之后,但解析JSON我得到的nullexception当一个特定的标签不存在时。我该如何处理? 例如,如果在以下几点:

"id":123456787, 
"id_str":"123456787", 
"text":"HELLO help with parsing json", 

如果ID_STR领域是不存在它会抛出一个错误,我不想要检查的每个字段的空值我试图解析。另一个是我尝试过的工作,并得到所有孩子的列表,然后遍历它们。

任何意见赞赏。

回答

0

您可以使用direct castCType操作员从JToken直接有一个字符串值的字符串投:

Dim jobj As JObject = JObject.Parse(tweet) 
Dim sid = CType(jobj("id"), String) 

这工作,因为JToken具有内置的基本数据类型的大量explicit type conversions并且,当基元类型是引用类型或可为空时,显式转换运算符将在空输入上返回Nothing。样品fiddle。您可以在Visual Studio 2015中使用null-conditional operator