• json对象长这样

    {
    "UniqueName": {
    "Required": "true",
    "MaxLength": ,
    "MixLength": ,
    "Regex": " "
    },
    "Email": {
    "Required": "true",
    "MaxLength": ,
    "MixLength": ,
    "Regex": "^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$"
    }
    }
  • C#类长这样
      public class ValidatorOptin
    {
    public string Name { get; set; }
    public string Required { get; set; }
    public int MaxLength { get; set; }
    public int MixLength { get; set; }
    public string Regex { get; set; }
    //public string RegexScript { get; set; }//JavaScript的正则
    //public string RegexCsharp { get; set; }//c#的正则
    public string Stauts { get; set; }//1合格2不合格
    public string RturnMsg { set; get; }
    }
  • 使用JObject进行遍历
       List<ValidatorOptin> validatorOptins = new List<ValidatorOptin>();
    var jsonpars = JObject.Parse(jsonstr);
    //将json构建成List<ValidatorOption>
    foreach (JToken child in jsonpars.Children())
    {
    ValidatorOptin validatorOptin = new ValidatorOptin();
    var property1 = child as JProperty;
    validatorOptin.Name = property1.Name;
    //Console.WriteLine(property1.Name + ":" + property1.Value);
    foreach (JToken grandChild in child)
    {
    foreach (JToken grandGrandChild in grandChild)
    {
    var property = grandGrandChild as JProperty;
    if (property != null)
    {
    switch (property.Name)
    {
    case "Required":
    validatorOptin.Required = property.Value.ToString();
    break;
    case "MaxLength":
    validatorOptin.MaxLength = int.Parse(property.Value.ToString());
    break;
    case "MixLength":
    validatorOptin.MixLength = int.Parse(property.Value.ToString());
    break;
    case "Regex":
    validatorOptin.Regex = property.Value.ToString();
    break;
    default:
    break;
    }
    //Console.WriteLine(property.Name + ":" + property.Value);
    }
    }
    }
    validatorOptins.Add(validatorOptin);
    }
05-08 15:07