【问题标题】:$type is ignored by JSON deserialzation allthough TypeNameHandling is set to Auto尽管 TypeNameHandling 设置为 Auto,但 JSON 反序列化忽略了 $type
【发布时间】:2015-08-31 19:17:48
【问题描述】:

我想序列化派生类并将其发送到 web-api 方法。 在我的 WebApiConfig.cs 中,我设置了

config.Formatters.JsonFormatter.SerializerSettings.TypeNameHandling = TypeNameHandling.Auto;

我已经在我的 JSON(或将被序列化为 JSON 的 JavaScript)中设置了 $type 参数,但派生类仍然没有正确反序列化(始终为空)。

【问题讨论】:

    标签: c# json json.net asp.net-web-api2


    【解决方案1】:

    这可能是因为您没有将 $type 参数设置为您的第一个属性。 例如,这将起作用:

    var param = {
        $type: 'MyNamespace.MyType, MyAssemblyName', // .NET fully qualified name
        name: 'test' // object properties
    };
    

    但这不起作用:

    var param = {
        name: 'test' // object properties
        $type: 'MyNamespace.MyType, MyAssemblyName', // .NET fully qualified name
    };
    
    猜你喜欢
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    相关资源
    最近更新 更多