示例#1
0
 public JsonResult TryGetProps(PartCodeInnput input)
 {
     try
     {
         PartCodeResult result = GetPartResult(input);
         return(new JsonResult(result));
     }
     catch (Exception ex)
     {
         var errorResult = new { error = "JsonPath Error : " + ex.Message };
         return(new JsonResult(errorResult));
     }
 }
示例#2
0
        private static PartCodeResult GetPartResult(PartCodeInnput input)
        {
            JToken token        = JToken.Parse(input.Json);
            var    paramDefList = new List <ParamDef>();
            var    ErrorCount   = 0;

            if (input.TemplateName == TemplateType.QueryParamsDef ||
                input.TemplateName == TemplateType.Filters ||
                input.TemplateName == TemplateType.QueryParamsQueryCode)
            {
                foreach (var item in token.SelectToken(input.JsonPath))
                {
                    try
                    {
                        var def = new ParamDef();
                        GetParemeters(item, def);
                        paramDefList.Add(def);
                    }
                    catch { ErrorCount++; }
                }
            }
            else
            {
                foreach (var item in token.SelectToken(input.JsonPath))
                {
                    try
                    {
                        var def = new ParamDef();
                        GetProperties(item, def);
                        paramDefList.Add(def);
                    }
                    catch { ErrorCount++; }
                }
            }

            var result = new PartCodeResult
            {
                TemplateName = input.TemplateName,
                Properties   = paramDefList,
                ErrorCount   = ErrorCount
            };

            return(result);
        }