2011-07-07 40 views
4

我正在使用JSON.NET從Web服務中反序列化一些JSON。我想要檢測某個標記是否存在,然後採取行動。使用json.net檢測帶有json對象的標記

JToken token = JObject.Parse(JsonData); 

我使用上述反序列數據中,我又試圖返回未找到以下

if (((string)token.SelectToken("tokenname")) != null) 
{ 
    Debug.WriteLine("found"); 
} 
else 
{ 
    Debug.WriteLine("not found"); 
} 

各一次。有任何想法嗎?感謝

+0

什麼的JSON從Web服務的樣子回來了嗎? –

回答

9

我一直在做以下幾點: (我假設JsonData是一個字符串)

// data is a string variable 
JObject obj = (JObject)JsonConvert.DeserializeObject(data); 

if (obj != null) { 
    if (obj["someProperty"] != null) { 
     // perform logic here 
    } 
} 
+0

感謝您的回答,這就解決了! – Nathan

1
JObject obj=JObject.Parse(data); 

JToken token; 

if(obj.TryGetValue("tokenname", out token)) { 
Debug.WriteLine(token); 
} 
相關問題