繁体   English   中英

JSon反序列化获取类型

[英]JSon Deserializing getting type

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.net无法通过json推断类型,但是如果您想动态地对Json对象进行操作,请从Newtonsoft.Json.Linq命名空间中检查JToken,JObject和JArray类型。 您可以从这样的路径阅读Json

var myObject = JObject.Parse(jsonString)
var someObject = myObject["myOtherObject"]["otherThing"];
var myString = (string) someObject["theString"];

我发现Json.net的这一部分非常有用,希望对您有所帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM