C#でJSONを解析するにはどうすればいいですか?
以下のようなコードがあります。
var user = (Dictionary<string, object>)serializer.DeserializeObject(responsecontent);
responsecontent`の入力はJSONですが、適切にパースされてオブジェクトになっていません。どのようにすれば適切にデシリアライズできますか?
420
3
私は、あなたがJson.NET(Newtonsoft.Json NuGetパッケージ)を使用していないと仮定しています。もしそうであれば、試してみてください。
以下のような機能があります。
1.LINQ to JSON 2..NETオブジェクトをJSONに素早く変換して戻すJsonSerializer 3.Json.NETは、オプションで、デバッグや表示のために整形され、インデントされたJSONを作成することができます。 4.JsonIgnoreやJsonPropertyなどの属性をクラスに追加して、クラスのシリアライズ方法をカスタマイズすることができます。 5.JSONをXMLとの間で変換する機能 6..NET、Silverlight、Compact Frameworkなどのマルチプラットフォームに対応
以下の例を見てください。この例では、
JsonConvert
クラスを使用して、オブジェクトをJSONとの間で変換しています。このクラスには2つの静的メソッドがあります。それらは[SerializeObject(Object obj)
][3]とDeserializeObject(String json)
です。[3]: http://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_JsonConvert_SerializeObject.htm
もし、.NET 4が利用できるなら、チェックしてみてください。http://visitmix.com/writings/the-rise-of-json (archive.org)をご覧ください。
そのサイトからのスニペットを紹介します。
最後のConsole.WriteLineはとても素晴らしいですね。
また、DataContractJsonSerializerも参考にしてみてください。