下面的代码片段复制了我在 ServiceStack 应用程序中遇到的反序列化问题。在运行以下命令时,正确填充了 consignee 属性,但没有正确填充 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; }
}
生成 JSON 的库在一些元素前面加上 @ 表示它们来自 XML 属性,但这个程序超出了我的控制范围。我了解 JSON 和对象属性之间的 ServiceStack 名称匹配。
我尝试在属性名称后附加一个 @ 但这没有帮助。
//doesn't help
public string @id { get; set;}
有没有办法告诉 ServiceStack 将 @id 反序列化为 id 而无需通过实现自定义反序列化器的过程?