using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization.Formatters;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
using System.Collections.ObjectModel;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
public class CustomValidation
public string unable_to_edit { get; set; }
public string data_type { get; set; }
public string field_name { get; set; }
public string field_type_name { get; set; }
public string field_data_name { get; set; }
public object placeholder { get; set; }
public string default_value { get; set; }
public string act_as_assign { get; set; }
public CustomValidation custom_validation { get; set; }
public string value { get; set; }
public int group_index { get; set; }
public int total_count { get; set; }
public int current_page_total_count { get; set; }
public int max_each_page { get; set; }
public int current_page_number { get; set; }
public int total_pages { get; set; }
public string type { get; set; }
public string code { get; set; }
public string entity_name { get; set; }
public string entity_data_name { get; set; }
public Permissions permissions { get; set; }
public string view { get; set; }
public class FieldGroupData
public string group_name { get; set; }
public string group_data_name { get; set; }
public string group_id { get; set; }
public string repeatable_group { get; set; }
public Permissions permissions { get; set; }
public FieldGroupData field_group_data { get; set; }
public List<List<Field>> fields_data { get; set; }
public class InstanceData
public string _id { get; set; }
public DateTime insertTimestamp { get; set; }
public List<FieldGroup> field_groups { get; set; }
public InstanceData instance_data { get; set; }
public object single_permission { get; set; }
public Info info { get; set; }
public EntityData entity_data { get; set; }
public List<Datum> data { get; set; }
public static void Test()
var myJsonResponse = GetJson();
var myDeserializedClass = JsonConvert.DeserializeObject<Root>(myJsonResponse);
myDeserializedClass.Dump();
static string GetJson() => @"{
""current_page_total_count"": 2,
""current_page_number"": 1,
""entity_name"": ""\u05de\u05d0\u05d9\u05e8"",
""entity_data_name"": ""e_130"",
""_id"": ""60a3a82a956ecd3228739ced"",
""insertTimestamp"": ""2021-05-18T14:42:34+0300"",
""group_name"": ""\u05e1\u05e4\u05e8 \u05d8\u05dc\u05e4\u05d5\u05e0\u05d9\u05dd"",
""group_data_name"": ""g_353"",
""repeatable_group"": ""0"",
""field_name"": ""\u05e9\u05dd \u05e4\u05e8\u05d8\u05d9"",
""field_type_name"": ""input-text"",
""field_data_name"": ""fld_2372"",
""unable_to_edit"": ""0"",
""value"": ""\u05de\u05d0\u05d9\u05e8"",
""field_name"": ""\u05e9\u05dd \u05de\u05e9\u05e4\u05d7\u05d4"",
""field_type_name"": ""input-text"",
""field_data_name"": ""fld_2373"",
""unable_to_edit"": ""0"",
""value"": ""\u05e8\u05d5\u05d8\u05e4\u05dc\u05d9\u05d9\u05e9"",
""field_name"": ""\u05d9\u05d9\u05e9\u05d5\u05d1 \u05de\u05d2\u05d5\u05e8\u05d9\u05dd"",
""field_type_name"": ""select-list"",
""field_data_name"": ""fld_2374"",
""possible_values"": ""[\""\\u05db\\u05e4\\u05e8 \\u05e1\\u05d1\\u05d0\"",\""\\u05ea\\u05dc \\u05d0\\u05d1\\u05d9\\u05d1\"",\""\\u05e2\\u05d6\\u05d4\"",\""\\u05d9\\u05e8\\u05d5\\u05e9\\u05dc\\u05d9\\u05dd\""]"",
""unable_to_edit"": ""0"",
""alphabetical_order"": ""0""
""value"": ""\u05db\u05e4\u05e8 \u05e1\u05d1\u05d0"",
""field_name"": ""\u05d8\u05dc\u05e4\u05d5\u05df"",
""field_type_name"": ""input-text"",
""field_data_name"": ""fld_2375"",
""unable_to_edit"": ""0"",
""value"": ""055098393"",
""field_name"": ""\u05de\u05d9\u05d9\u05dc"",
""field_type_name"": ""input-email"",
""field_data_name"": ""fld_2376"",
""unable_to_edit"": ""0""
""value"": ""meir@arma.co.il"",
""single_permission"": null
""_id"": ""60a3a7e6788c2124f12b5370"",
""insertTimestamp"": ""2021-05-18T14:41:26+0300"",
""group_name"": ""\u05e1\u05e4\u05e8 \u05d8\u05dc\u05e4\u05d5\u05e0\u05d9\u05dd"",
""group_data_name"": ""g_353"",
""repeatable_group"": ""0"",
""field_name"": ""\u05e9\u05dd \u05e4\u05e8\u05d8\u05d9"",
""field_type_name"": ""input-text"",
""field_data_name"": ""fld_2372"",
""unable_to_edit"": ""0"",
""value"": ""\u05d0\u05e8\u05d9\u05d4"",
""field_name"": ""\u05e9\u05dd \u05de\u05e9\u05e4\u05d7\u05d4"",
""field_type_name"": ""input-text"",
""field_data_name"": ""fld_2373"",
""unable_to_edit"": ""0"",
""value"": ""\u05de\u05e6\u05dc\u05d9\u05d7"",
""field_name"": ""\u05d9\u05d9\u05e9\u05d5\u05d1 \u05de\u05d2\u05d5\u05e8\u05d9\u05dd"",
""field_type_name"": ""select-list"",
""field_data_name"": ""fld_2374"",
""possible_values"": ""[\""\\u05db\\u05e4\\u05e8 \\u05e1\\u05d1\\u05d0\"",\""\\u05ea\\u05dc \\u05d0\\u05d1\\u05d9\\u05d1\"",\""\\u05e2\\u05d6\\u05d4\"",\""\\u05d9\\u05e8\\u05d5\\u05e9\\u05dc\\u05d9\\u05dd\""]"",
""unable_to_edit"": ""0"",
""alphabetical_order"": ""0""
""value"": ""\u05e2\u05d6\u05d4"",
""field_name"": ""\u05d8\u05dc\u05e4\u05d5\u05df"",
""field_type_name"": ""input-text"",
""field_data_name"": ""fld_2375"",
""unable_to_edit"": ""0"",
""value"": ""055098393"",
""field_name"": ""\u05de\u05d9\u05d9\u05dc"",
""field_type_name"": ""input-email"",
""field_data_name"": ""fld_2376"",
""unable_to_edit"": ""0""
""value"": ""arie@arma.co.il"",
""single_permission"": null
public static void Main()
Console.WriteLine("Environment version: {0} ({1})", System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription , GetNetCoreVersion());
Console.WriteLine("{0} version: {1}", typeof(JsonSerializer).Assembly.GetName().Name, typeof(JsonSerializer).Assembly.FullName);
Console.WriteLine("Failed with unhandled exception: ");
public static string GetNetCoreVersion()
var assembly = typeof(System.Runtime.GCSettings).GetTypeInfo().Assembly;
var assemblyPath = assembly.Location.Split(new[] { '/', '\\' }, StringSplitOptions.RemoveEmptyEntries);
int netCoreAppIndex = Array.IndexOf(assemblyPath, "Microsoft.NETCore.App");
if (netCoreAppIndex > 0 && netCoreAppIndex < assemblyPath.Length - 2)
return assemblyPath[netCoreAppIndex + 1];