1

VB.NET のサービス呼び出しから返された JSON を匿名型に逆シリアル化したいのですが、エラーが発生しました。動的型を使用して C# で動作しますが、VB で行う方法がわかりません。

Web サービス呼び出しから返された JSON は次のとおりです。

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

これは、param text に割り当てられた上記の VB コード json です。

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

しかし、testObj.formatにアクセスしようとすると、例外がスローされ、メッセージが表示されました

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

すでに追加していますOption Strict Off。オブジェクト/クラスを使用して JSON を逆シリアル化したくありません。C# の場合、これを動的型に割り当てると正常に動作します。

誰でも助けてもらえますか?私はVBの専門家ではありませんが、これをVBで実行する必要があります。ティア

4

2 に答える 2

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

次に、次の方法でキー(属性名)/値にアクセスできます。

value=testobj(key)

もう1つ、次の方法でNewtonsoftキー(属性名)/値にアクセスできます。

value=testObj.item(key)
于 2013-03-20T15:44:11.953 に答える