1

JSON HttpWebResponse を XmlDictionaryReader に分解するために作成したコードがいくつかあります。

Dim response As HttpWebResponse = request.GetResponse()
Dim xmlQuotas As New Global.System.Xml.XmlDictionaryReaderQuotas
Dim yelpJson As System.Xml.XmlDictionaryReader = System.Runtime.Serialization.Json.JsonReaderWriterFactory.CreateJsonReader(response.GetResponseStream(), xmlQuotas)

ローカル マシンと別のリモート サーバーではすべて問題なく動作しますが、これを GoDaddy ホスティング アカウントに移動すると、次のエラーが発生します。

Compiler Error Message: BC30002: Type 'System.Xml.XmlDictionaryReaderQuotas' is not defined.

これは標準タイプのようですが、なぜ定義されないのかわかりません。ローカル マシンと別のリモート サーバーの両方で問題なく動作するように見えました。

a) これを引き起こす原因、または b) GoDaddy サーバーで動作するように解決する方法を知っている人はいますか?

XmlDictionaryReaderQuotas タイプ全体を再作成する以外はすべて試しました。

4

1 に答える 1

0

これを理解することはできなかったので、先に進んで XmlDictionaryReader と XmlDictionaryReaderQuotas を取り除きました。代わりに、JavaScriptSerializer を使用してすべてを Dictionary(Of String, Object) 型に逆シリアル化し、いくつかのカスタム関数を使用してクロールし、必要な値を返しました。

Dim yelpReader As IO.StreamReader = New IO.StreamReader(yelpResponse.GetResponseStream())
Dim JsonSerializer As New Web.Script.Serialization.JavaScriptSerializer()
Dim JsonData As Dictionary(Of String, Object) = CType(JsonSerializer.DeserializeObject(yelpReader.ReadToEnd), Dictionary(Of String, Object))
于 2011-04-08T11:59:59.997 に答える