我正在运行基于nancyfx的restful服务,需要与基于cobol的计算机进行通信。
我以json的形式获取请求并将其绑定到一个对象中。我的配置文件也是一个json文件,我在其中设置界限(左或右),小数点后的数字量和字段的总长度。
我想验证每个字段,稍后需要输出给定格式的每个字段,因为cobol程序需要它的值(例如负值,如" -123,45"需要在" 12345 - ")的模式中。
这些是我在json配置文件中生成的一些属性:
public class Companyid
{
public string bound { get; set; }
public int decimals { get; set; }
public int length { get; set; }
}
public class Customerid
{
public string bound { get; set; }
public int decimals { get; set; }
public int length { get; set; }
}
public class Zip
{
public string bound { get; set; }
public int decimals { get; set; }
public int length { get; set; }
}
public class RootObject
{
public Companyid companyid { get; set; }
public Customerid customerid { get; set; }
public Zip zip { get; set; }
}
json看起来像这样:
{
"companyid": {
"bound": "right",
"decimals": 0,
"length": 2,
"pos": 1
},
"customerid": {
"bound": "right",
"decimals": 0,
"length": 6,
"pos": 2
},
"zip": {
"bound": "right",
"decimals": 0,
"length": 5,
"pos": 13
}
}
我的客户对象(用户输入)如下所示:
public class Customer
{
public string companyid { get; set; }
public int customerstatus { get; set; }
public string customersince { get; set; }
public string customerid { get; set; }
}
最后,我还需要使这些项目按正确顺序排列(因此将订单从companyid | customerid | zip 更改为 zip | companyid | customerid)< / p>
为清晰起见编辑:
是否有一种简单的方法可以浏览我的对象的所有属性并获得属性值?
如何改进我的对象以使迭代成为可能/更容易?可能Automapper是我问题的有效解决方案吗?如果是这样,我将如何实现它?