2014-02-25 58 views
1

我有這個一個JSON值JSON到數組c#

{"interface":"ALL", 
"dv":"1", 
"alarms":[{"Id":0, 
      "Type":"URL", 
      "Trigger":"facebook", 
      "Output":"video"}, 
      {"Id":1, 
      "Type":"URL", 
      "Trigger":"twitter", 
      "Output":"video"}, 
      {"Id":2, 
      "Type":"URL", 
      "Trigger":"ebay", 
      "Output":"video"} 
]} 

,我想分析該信息MI C#代碼

我絃樂標籤做到這一點,工作正常

JObject obj = JObject.Parse(json); 
String value =(String) obj["dv"]; 

但我有一個標籤陣列報警錯誤。我試着:

Array value = null; 
value =(Array) obj["alarm"]; 

,但我得到一個錯誤(消息=無法轉換陣列到字節數組源= Newtonsoft.Json)。

+0

嘗試映射此json對象到datacontract,你可以使用[link]( http://json2csharp.com/)來使您可以用作數據合同的類。 此[鏈接](http://msdn.microsoft.com/en-us/library/ms731073%28v=vs.110%29.aspx)可能會有所幫助。 –

回答

0

儘量將您alarmsJArray

JArray value = null; 
value = obj["alarms"] as JArray; 
+0

完美。有用。 謝謝 – edraven

-2

你的json字符串有一個保留的c#關鍵字:interface。嘗試改變這個,看看它是否工作。

+0

這不是解決方案,我試過了。 thanx – edraven

0

您可以使用JavaScriptSerializer
例如:

JavaScriptSerializer jss = new JavaScriptSerializer(); 
Dictionary<string, object> dict = jss.Deserialize<Dictionary<string, object>>(jsonString); 
0

使用Json.Net

JArray value = null; 
value = obj["alarms"] as JArray; 

鑄件應JArray