JSon正在反序列化获取类型

本文关键字:获取 取类型 反序列化 JSon | 更新日期: 2023-09-27 17:57:54

class Program
{
    static void Main(string[] args)
    {
        string json = JsonConvert.SerializeObject(new Account { Name = "test" }, Newtonsoft.Json.Formatting.Indented,
        new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All, PreserveReferencesHandling = PreserveReferencesHandling.Objects });
        Console.Out.Write(json);
        while (true) 
        {
        }
    }
}
class Account {
    public String Name;
}

嘿,我想进入Json。我想反序列化一个对象。我想从字符串中获取类型信息。因此,当我反序列化时,我希望json自己识别类型,而不指定它。这可能吗?

谨致问候,Brian

JSon正在反序列化获取类型

不幸的是,Json.net无法通过Json推断类型,但如果您想动态操作Json对象,请从Newtonsoft中查看JToken、JObject和JArray类型。Json。Linq命名空间。你可以从这样的路径读取Json
var myObject = JObject.Parse(jsonString)
var someObject = myObject["myOtherObject"]["otherThing"];
var myString = (string) someObject["theString"];

我发现Json.net的这一部分非常有用,我希望它能帮助你:(