相关疑难解决方法(0)

反序列化时的备用属性名称

参考这个问题:

在使用Json.net进行序列化时如何更改属性名称?

当然,很棒,但我可以吃蛋糕吗?

我正在寻找的是一种赏心悦目的方式,以一种字符可能包含的方式为一个属性提供一个替代名称.

就像是:

[BetterJsonProperty(PropertyName = "foo_bar")]
public string FooBar { get; set; }
Run Code Online (Sandbox Code Playgroud)

{
     "FooBar": "yup"
}
Run Code Online (Sandbox Code Playgroud)

{     
      "foo_bar":"uhuh"
}
Run Code Online (Sandbox Code Playgroud)

将按预期反序列化.

由于没有属性的解决方案可以工作,或者类的属性如下:

 [AllowCStylePropertyNameAlternatives]
Run Code Online (Sandbox Code Playgroud)

c# json.net

19
推荐指数
2
解决办法
2万
查看次数

json从遗留属性名称反序列化

如何设置Newtonsoft.Json以使用旧成员名称反序列化对象,但使用当前成员名称对其进行序列化?

这是一个需要序列化和反序列化的示例对象.我给了一个属性一个属性,其中包含过去可能已被序列化的名称列表.

[DataContract]
class TestObject {
    [LegacyDataMemberNames("alpha", "omega")]
    [DataMember(Name = "a")]
    public int A { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想json序列化始终使用名称"a",但能够从任何遗留名称反序列化到一个属性,包括"alpha"和"omega"以及当前名称"a"

c# json json.net json-deserialization

6
推荐指数
2
解决办法
973
查看次数

标签 统计

c# ×2

json.net ×2

json ×1

json-deserialization ×1