【发布时间】:2014-09-30 18:22:09
【问题描述】:
我从外部服务接收 JSON,并说 JSON 可能具有与 C# 命名规则不兼容的字段名称。比如
"$" : {//object definition here}
我不能将我的课程命名为单个“$”。我正在使用 System.Runtime.Serialization 数据注释来指定一个字段,从该字段中反序列化这个奇怪的命名对象:
[DataMember(Name = "$")]
public Item Info { get; set; }
反序列化有效,但现在我想更好地格式化它,这样它就不会再次序列化回"$" : {//object definition here}。有没有一种方法可以指定一个序列化规则,说明该字段需要使用属性名称Info 进行序列化,同时仍从名为$ 的成员反序列化?我希望我的服务的用户看到的是:
"Info" : {//object definition here}
【问题讨论】:
-
你可以使用 JSON.NET 吗?您可以在其中编写自己的转换器,允许您指定它的读取和写入方式。
标签: c# json serialization deserialization