目前在我的模型类中,我有一些JSON.NET属性,如
public class MyModel
{
[JsonProperty("_anothername")]
[JsonConverter(typeof(MyCustomConverter))]
public string Name { get; set; }
}
是否有任何替代解决方案不会污染"污染"我的模特课?合同解析器可能有效,但它太重了。我想要这样的东西:
var contract = new JsonContract<MyModel>();
contract.Property(m => m.Name)
.HasAlias("_anothername")
.HasConverter<MyCustomConverter>();
JsonConvert.SerializeObject(myModelInstance, contract);
理想情况下,模型类对JSON.NET一无所知,项目不应该有JSON.NET参考。
编辑:也许其他一些JSON库可以工作,但我不想涉及另一个库,因为JSON.NET在这个项目中被广泛使用。更新:似乎合同解析器是执行此操作的标准方法,我发现this library接近我的期望。我稍后会尝试编写自己的实现。