0

この URL を確認してください:

http://api.stackoverflow.com/1.1/users/811785/questions?sort=votes

StackOveflow の API からの URL です。返された JSON は非常に複雑です。ASP.NET MVC のビューで使用できるように、JSON をオブジェクトに変換したいと考えています。

問題は、JavaScriptSerializerオブジェクトのDeserializeメソッドがTypeパラメーターを 2 番目のパラメーターとして受け取ることです。しかし、返された JSON は非常に複雑であるため、厳密に型指定されたオブジェクトを作成して逆シリアル化したくありません。

私は何をすべきか?

4

4 に答える 4

2

Json.NETを使用すると、次のようなことができます

JObject o = JObject.Parse(json);

string name = (string)o["Name"];
于 2011-11-22T12:12:14.157 に答える
2

.NET 4.0 では、dynamic を使用できます

詳細はこちら

http://www.drowningintechnicaldebt.com/ShawnWeisfeld/archive/2010/08/22/using-c-4.0-and-dynamic-to-parse-json.aspx

その他はこちら

http://dynamicjson.codeplex.com/

于 2011-11-22T12:07:58.320 に答える
1

JSON.NET のような追加のライブラリは必要なく、JavaScriptSerializer を使用するだけです。

基本的に でJavaScriptSerializer.DeserializeObjectある を返すものを検討することができます。ObjectDictionary<string, object>

ネストされた値を取得するには、キャストを続ける必要があります。

Quick Watchで逆シリアル化されたオブジェクトを確認すると、返されたオブジェクトをキャストするために正確に何が必要かがわかりますDictionary<>

于 2011-11-22T13:26:30.593 に答える
0

System.Web.Script.JavascriptSerializer多くのオーバーロードされたメソッドを持っているものを試してDeserialize、それで遊んでください。そうすれば、きっとあなたが望むものが得られます.

于 2011-11-22T12:10:26.510 に答える