小编Don*_*gst的帖子

使用servicestack中的前导@chars反序列化JSON

下面的代码片段复制了我在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而不通过实现自定义反序列化器的过程?

c# json servicestack servicestack-text

2
推荐指数
1
解决办法
69
查看次数

标签 统计

c# ×1

json ×1

servicestack ×1

servicestack-text ×1