根据配置文件验证对象的最简单方法

时间:2017-03-23 11:14:38

标签: c# .net json automapper

我正在运行基于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是我问题的有效解决方案吗?如果是这样,我将如何实现它?

0 个答案:

没有答案