2013-04-29 56 views
0

我正在學習,我有一個JSON格式的REST API響應,它是在一個名爲s字符串被收到filtersSystem.Collections.Generic.Dictionary:如何訪問其成員

什麼,我試圖做被反序列化,以便我可以使用包含在JSON數據..這是我在做什麼

JavaScriptSerializer jsSerializer = new JavaScriptSerializer(); 
var deserializedJson = jsSerializer.DeserializeObject(filters); 

現在的事情是它是工作,但我不;知道如何進一步利用它.. 。

我調試了反序列化語句以找到以下結果

enter image description here

它說,它是我的reult對象是{System.Collections.Generic.Dictionary<string,object>}類型的

enter image description here

做什麼...我需要提取property : Makevalue : Honda

有正在發送的jSON ..那是什麼在filters sting [{"property":"Make","value":"Honda"}]

回答

0

首先,你需要投返回的對象到詞典,像這樣:

var deserializedJson = jsSerialize.DeserializeObject(filters); 
var dictionary = (Dictionary<string,object>)deserializedJson; 

現在,您可以通過按鍵訪問任何屬性:

object prop = dictionary["property"]; 
object make = dictionary["value"]; 

需要注意的是「託」和「做」是對象變量,但我懷疑基礎類型是一個字符串。所以你可以在屬性上調用.ToString(),並將它們轉換爲字符串。

0

另一種選擇是如下,

dynamic deserializedJson = jsSerialize.DeserializeObject(filters); 
object prop = deserializedJson["property"]; 
object make = deserializedJson["value"];