我有一个有这个属性的类:
public string FeatureString { get; set; }
但是我在JSON中收到了这个:
"feature_string":"someText"
由于下划线,名称不匹配,因此此属性未受约束。 给它一个属性:
[JsonProperty(PropertyName = "feature_string")]
似乎没有帮助。
是否有,如果有,如何将Nancy绑定到名称与JSON不同的属性?
感谢。
答案 0 :(得分:2)
我不认为这是开箱即用的。 我能想到的两个选择:
使用请求实际具有的结构构建专用请求DTO。南希也可以绑定私人内部类。您的模块可以包含feature_string
作为字段。 Nancy也支持字段绑定。当您对内部请求类进行数据绑定时,您可以映射到您的真实对象,例如使用Automapper。你仍然需要一个与JSON具有相同结构的对象,但至少你可以隐藏它。
https://gist.github.com/thecodejunkie/5521941这里是一个动态模型绑定器,它允许将传入的JSON绑定到dynamic
。再次使用Automapper,您可以从动态对象绑定到您的实际对象,这应该在没有显式配置的情况下工作。对于feature_string
,您可以定义一个显式映射规则。