使用Nancy

时间:2017-11-08 14:40:47

标签: c# json binding nancy

我有一个有这个属性的类:

public string FeatureString { get; set; }

但是我在JSON中收到了这个:

"feature_string":"someText"

由于下划线,名称不匹配,因此此属性未受约束。 给它一个属性:

 [JsonProperty(PropertyName = "feature_string")]

似乎没有帮助。

是否有,如果有,如何将Nancy绑定到名称与JSON不同的属性?

感谢。

1 个答案:

答案 0 :(得分:2)

我不认为这是开箱即用的。 我能想到的两个选择:

  • 使用请求实际具有的结构构建专用请求DTO。南希也可以绑定私人内部类。您的模块可以包含feature_string作为字段。 Nancy也支持字段绑定。当您对内部请求类进行数据绑定时,您可以映射到您的真实对象,例如使用Automapper。你仍然需要一个与JSON具有相同结构的对象,但至少你可以隐藏它。

  • https://gist.github.com/thecodejunkie/5521941这里是一个动态模型绑定器,它允许将传入的JSON绑定到dynamic。再次使用Automapper,您可以从动态对象绑定到您的实际对象,这应该在没有显式配置的情况下工作。对于feature_string,您可以定义一个显式映射规则。