我正在使用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并获得所有子节点的列表,然后遍历它们。
欢迎指教
您可以使用CType
操作符将具有字符串值的JToken
直接转换为字符串:
Dim jobj As JObject = JObject.Parse(tweet)
Dim sid = CType(jobj("id"), String)
这是有效的,因为JToken
有大量显式类型转换到基本数据类型的内置。而且,当基本类型是引用类型或可空类型时,显式强制转换操作符将在空输入时返回Nothing
。示例小提琴。
你也可以在Visual Studio 2015中使用空条件运算符