2013-03-25 31 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