JSON.NET属性的替代解决方案

Che*_*hen 5 .net c# json json.net

当前在我的模型类中,我有一些JSON.NET属性,例如

public class MyModel
{
     [JsonProperty("_anothername")]
     [JsonConverter(typeof(MyCustomConverter))]
     public string Name { get; set; }     
}
Run Code Online (Sandbox Code Playgroud)

是否有其他解决方案不会“污染”我的模型类?合同解析器可能有效,但是它太重了。我想要这样的东西:

var contract = new JsonContract<MyModel>();
contract.Property(m => m.Name)
        .HasAlias("_anothername")
        .HasConverter<MyCustomConverter>();
JsonConvert.SerializeObject(myModelInstance, contract);
Run Code Online (Sandbox Code Playgroud)

理想情况下,模型类对JSON.NET一无所知,并且该项目不应具有JSON.NET参考。

编辑:也许其他一些JSON库可以工作,但是我不想涉及另一个库,因为JSON.NET在该项目中被广泛使用。

更新:似乎合同解析器是执行此操作的标准方法,我发现此库接近我的期望。稍后,我将尝试编写自己的实现。