私は、次のJSONは、JavaサービスからJSON.NETルートタグとデシリアライズ
{"Test":{
"value": 1,
"message": "This is a test"
}}
を返してきたルートタグ「テスト」があるので、私は、しかし
class Test {
public int value { get; set; }
public String message { get; set; }
}
次のC#クラスを持っています返された私は直接これを逆シリアル化することはできません
Test deserializedTest = JsonConvert.DeserializeObject<Test>(jsonString);
私は、別のこれが動作するためのクラス。これ以外の方法を避ける簡単な方法はありますか?
JToken root = JObject.Parse(jsonString);
JToken testToken = root["Test"];
Test deserializedTest = JsonConvert.DeserializeObject<Test>(testToken.toString());
最後にもう1つ質問があります。私が呼んでいるサービスのほとんどはExceptionオブジェクトも返すことができます。オブジェクトを逆シリアル化する方法を決定するためにJSONの "ルート"タグを読んでいると思いました。どのようにして最初のルートタグを取得するのですか、またはサービスからの例外を処理するためのより優れた、より洗練されたメソッドがありますか?
おかげ
私はそれを汎用オブジェクト(Testオブジェクト用)にすると実際にうまくいくかもしれないと思います。これは、1つまたは他のオブジェクトを解析する非常に簡単な方法です。ありがとうございました – Shaun