public string Run([FromBody] JsonExtractRunInput input)
        {
            var jsonProcessor = new JsonExtractProcessor();

            if (input.type == JsonRunType.InnerJoin.ToString())
            {
                var result = jsonProcessor.RunWithInnerJoin(input.program, input.text);
                return(JsonConvert.SerializeObject(result));
            }
            else if (input.type == JsonRunType.OuterJoin.ToString())
            {
                var result = jsonProcessor.RunWithOuterJoin(input.program, input.text);
                return(JsonConvert.SerializeObject(result));
            }
            else if (input.type == JsonRunType.Tree.ToString())
            {
                var result = jsonProcessor.RunAsTree(input.program, input.text);
                return(JsonConvert.SerializeObject(result));
            }
            else
            {
                var result = jsonProcessor.RunAsTable(input.program, input.text);
                return(JsonConvert.SerializeObject(result));
            }
        }
 public string Learn([FromBody] JsonExtractLearnInput input)
 {
     try
     {
         var jsonProcessor = new JsonExtractProcessor();
         if (input.type == JsonLearnType.NoJoin.ToString())
         {
             return(jsonProcessor.LearnWithNoJoin(input.text));
         }
         else
         {
             return(jsonProcessor.Learn(input.text));
         }
     }
     catch (Exception e)
     {
         return(string.Empty);
     }
 }