最近、動的データ型のJSON.NetAPIを使用してJSONコンテンツを逆シリアル化しようとしていました。
フォーラムを一生懸命検索したところ、WinRTでそれが実際に可能であることがわかりました。
サンプルJSONは次のようになります。
string json = "{\"message\":\"Sample Message\"}"
次の形式を使用しました。
dynamic result = JsonConvert.DeserializeObject<dynamic>(json);
結果としてコンテンツを正常に逆シリアル化します。しかし、次のような構文を使用してアクセスしようとすると、次のようになります。
string message = result.message;
次のようなエラーが発生します。
'object'には'message'の定義が含まれておらず、タイプ'object'の最初の引数を受け入れる拡張メソッド'message'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)
インターネット全体で多くのjsonサンプルを試しましたが、エラーは同じままです。正直言って、私はそれを数時間前に試しましたが、実際に機能しました!でも今回は足りないものが見つかりませんでした。
PS:実際のJsonに動的フィールド名が含まれているため、動的を使用する必要があります。それが次のようになったら:
{"New York" : "Its in United States"}
そして時々それは次のようになります:
{"London" : "Its in United Kingdom"}
(ただし、クラップの例です!:P)json2csharpクラスのメソッドは、ここでは機能しません。二次的でより効率的なメソッドがあるかどうかを推測します。私を案内してください。私が解析しようとしている実際のJsonは非常に複雑です。投稿が必要な場合は投稿します。