1

我正在使用 json.net 解析 json 并将字符串转换为这样的对象

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

它似乎工作正常,但是当特定标签不存在时,我得到了 nullexception。我该如何处理?例如,如果在以下情况下:

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

如果 id_str 字段不存在,它将引发错误,并且我不想检查我尝试解析的每个字段上的空值。我尝试的另一个方法是到 jobj 并获取所有孩子的列表,然后遍历它们。

任何建议表示赞赏。

4

1 回答 1

0

您可以使用带运算符 的直接转换将具有字符串值的 a 直接转换为字符串:CTypeJToken

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

这是有效的,因为JToken有大量内置的原始数据类型的显式类型转换。并且,当原始类型是引用类型或可为空时,显式转换运算符将返回Nothing空输入。样品小提琴

您还可以在 Visual Studio 2015 中使用空条件运算符。

于 2016-12-23T23:22:48.783 回答