gpt4 book ai didi

c# - 使用 JSON.NET 反序列化和序列化字典

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:07 26 4
gpt4 key购买 nike

如果我有字典并添加例如这个字典的 MyClass 类实例,如何确保字典的反序列化和序列化包含类而不是 JObject?

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

最佳答案

问题是 Json.Net 无法知道反序列化和再次序列化的字符串、对象应该是特定类型。幸运的是,有一个名为 TypeNameHandling 的属性告诉 Json.Net 将类型保存在 json 字符串中。使用此选项进行序列化和反序列化非常有效:-)。

关于c# - 使用 JSON.NET 反序列化和序列化字典 <string, object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43845990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com