using Newtonsoft.Json.Serialization;
using Newtonsoft.Json.Schema;
public static void Main()
'Description': 'This is a test function.',
'Description': 'This is a test function.',
var arr = new[]{json0, json1};
foreach (var json in arr)
Function deserializedFunction = JsonConvert.DeserializeObject<Function>(json);
Console.WriteLine($"Name: {deserializedFunction.Name}");
Console.WriteLine($"Description: {deserializedFunction.Description}");
Console.WriteLine($"Parameters: {deserializedFunction.Parameters}");
Console.WriteLine("-------------");
public string Name { get; set; }
public string? Description { get; set; }
public JSchema Parameters { get; set; }
[JsonProperty("parameters")]
public string ParametersJson { get => Parameters.ToString(); set => Parameters = JSchema.Parse(value); }
public Function(string name, string? description, JSchema parameters)
Description = description;