0
辞書があり、この辞書へのMyClassクラスのインスタンス、辞書の逆シリアル化とシリアライゼーションにJObjectではなくクラスが含まれていることを確認するにはどうすればよいですか?JSON.NETを使用して辞書<文字列、オブジェクト>を逆シリアル化してシリアライズ
internal class MyClass
{
public string MyProperty { get; set; }
}
[TestMethod]
public async Task DebugTest()
{
Dictionary<string, object> testDictionary = new Dictionary<string, object>();
testDictionary.Add("testkey", new MyClass() { MyProperty = "testproperty" });
string json = JsonConvert.SerializeObject(testDictionary);
Dictionary<string, object> restoredDictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(json);
}
testDictionaryにはMyClassが含まれていますが、restoredDictionaryにはJObjectが含まれています。
更新:文字列、オブジェクトを使用する必要があることに注意してください。だから私は実際にはJson.NetにクラスではなくJObjectに変換するように指示する方法を探しています
var復元された辞書= JsonConvert.DeserializeObject>(json); ' –
をtestDictionaryとrestoredDictionaryに置き換えると 'Dictionary'となります。なぜオブジェクトを使いたいのですか? –
Vandita
文字列、オブジェクトを使用して、異なる種類のオブジェクト(MyClassA、MyClassBなど)をキャッチします。これは、ObjectConvertersを使用したより大きなオブジェクトモデルの一部です。その部分は素晴らしい、それは問題である辞書だけです。 – MortenGR