2012-12-15 18 views
1

我想從VB.NET服務調用返回的JSON反序列化爲匿名類型,但我有錯誤。它在C#中使用動態類型,但我不知道如何在VB中做到這一點。VB.NET反序列化JSON到匿名對象使用newtonsoft返回的錯誤

這裏是我的JSON從Web服務調用返回:

{"format":"png","height":564,"width":864}

這裏是我的VB代碼的JSON以上分配給PARAM文本:

Dim testObj = Newtonsoft.Json.JsonConvert.DeserializeObject(text) 

但是當我試圖訪問testObj .format,引發異常

{"Public member 'format' on type 'JObject' not found."} 

我已經添加了Option Strict Off。我不想使用對象/類來反序列化JSON。如果它在C#中分配給動態類型將工作正常。

任何人都可以請幫忙嗎?我不是VB的專家,但我需要在VB上運行它。 TIA

回答

0
Dim js As New System.Web.Script.Serialization.JavaScriptSerializer 
Dim testObj = js.Deserialize(source, New Object().GetType()) 

然後你就可以訪問密鑰(屬性名稱)/通過值:

value=testobj(key) 

一件事,你可以訪問您的Newtonsoft鍵(屬性名稱)/值通過:

value=testObj.item(key) 
0
Dim js As New System.Web.Script.Serialization.JavaScriptSerializer 
Dim DeSerialObjEventData = New With {.Prop1 = String.Empty, .Prop2 = String.Empty, .Prop3 = String.Empty}... 
Dim testObj = js.DeserializeAnnonomusType(source, DeSerialObjEventData) 
相關問題