下面的代码片段复制了我在ServiceStack应用程序中遇到的反序列化问题.在运行以下内容时,收件人属性正确填充但id不是.
static void Main (string[] args)
{
string json = "{\"@id\":\"abcd\",\"consignee\":\"mr mann\"}";
shipment some_shipment = new shipment();
some_shipment = json.FromJson<shipment>();
Console.Read();
}
class shipment
{
public string id { get; set; }
public string consignee { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
生成JSON的库为一些带有@的元素添加前缀,表示它们来自XML属性,但是这个程序是我无法控制的.我知道ServiceStack名称在JSON和对象属性之间匹配.
我试过将@附加到属性名称,但这没有帮助.
//doesn't help
public string @id { get; set;}
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉ServiceStack将@id反序列化为id而不通过实现自定义反序列化器的过程?