2011-07-07 38 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); 
} 
相关问题