RestSharp for JSON中的属性映射不起作用

Ser*_*nov 6 .net serialization json restsharp

我有这样的代码:

using System;
using RestSharp.Serializers;

public class Program
{
    public static void Main()
    {
        var obj = new Order();
        obj.Test = 42;
        var serializer = new JsonSerializer();
        var json = serializer.Serialize(obj);
        Console.WriteLine(json);    
    }
}

public class Order
{
    [SerializeAs(Name = "object")]
    public string Object
    {
        get { return "Order"; }
    }

    [SerializeAs(Name = "TestName")]
    public int Test
    {
        get;set;
    }           
}
Run Code Online (Sandbox Code Playgroud)

基于SerializeAs属性,RestSharp应使用属性中的名称,而不是属性名称.但它只是忽略了它.此代码的输出是:

{
  "Object": "Order",
  "Test": 42
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么,或者它与RestSharp不兼容?

DotNetFiddle中的相同代码片段 - http://dotnetfiddle.net/ffaXUY

Ale*_*xei 3

根据这个资源

RestSharp 决定在 v107.0 中恢复 Newtonsoft.JSON 支持。

因此,如果您使用的是 RestSharp 107+,则可以安全地使用JsonPropertyAttribute属性来指定属性映射。这在使用其他命名约定(例如蛇形命名法)处理 API 时特别有用。

有关的