C# 如何在C中使用JSON定义的规则验证数据#

C# 如何在C中使用JSON定义的规则验证数据#,c#,json,validation,C#,Json,Validation,我有一张表,上面有一些数据,比如thins ID FIRST LAST DOB 1 Sam Spade 1977 2 Jane Tarzan 1945 3 Billy Boinger 1984 我还有一个JSON文件,其中包含一些类似的验证规则(这只是一个示例结构) { "Name" : MyTable, "Columns" : [ {

我有一张表,上面有一些数据,比如thins

     ID  FIRST  LAST    DOB
     1   Sam    Spade   1977
     2   Jane   Tarzan  1945
     3   Billy  Boinger 1984
我还有一个JSON文件,其中包含一些类似的验证规则(这只是一个示例结构)

{
    "Name" : MyTable,
    "Columns" : [
        {
            "ColumnName" : ID,
            "Constraints" : [
                {
                    "type": integer,
                    "max" : 1000,
                    "Required" : true,
                }
            ]
        }
        {
            "ColumnName" : First,
            "Constraints" : [
                {
                    "type": string,
                    "maxlenght" : 100,
                    "minlength" : 3,
                    "Required" : true
                }
            ]
        }
        {
            "ColumnName" : Last,
            "Constraints" : [
                {
                    "type": string,
                    "maxlenght" : 100,
                    "minlength" : 3,
                    "Required" : true
                }
            ]
        }
        {
            "ColumnName" : DOB,
            "Constraints" : [
                {
                    "type": datetime,
                    "Required" : true,
                    "Expression": Regex
                }
            ]
        }       
    ]
}
我想用C编写一个程序,用上面定义的JSON规则验证我的表数据。

C中的JSON验证只有在使用JSON.net newsoftone时才可能

您的定义如下所示:

   string schemaTable = @"{
  'Name' : MyTable,
    'Columns' : {
        {
            'ColumnName' : 'ID',
            'Constraints' : {
                {
                    'type': 'integer',
                    'max' : '1000',
                    'Required' : 'true',
                }
            }
        }
           
}";
然后获得所需格式的模式,并使用以下内容验证示例json:

JsonSchema schema = JsonSchema.Parse(schemaTable);

JObject Table = JObject.Parse(@"{
  'ColumnName': '1',
  'Constraints' : [
                
                    'type': ...
                
            ]
  ...
}");

bool valid = person.IsValid(schema);

Isvalid函数提供对json变量的验证。

这太宽泛了。我们不会为您编写程序。解决特定的、狭窄的问题也是如此,而不是编写整个程序。您尝试过什么?为什么它没有像您尝试过的那样工作?这不是一个您遇到问题后可以使用的平台,我们不会做好你的工作。请阅读并更新你的问题。