using System.Collections.Generic;
public static void Main()
var obj = new QuestionnaireTemplateAdditionalDisplayInformation()
{Introduction = "Welcome Page Introduction", DocumentsNeeded = new List<string>()
{"Passport", "Vaccination records", }, ThingsToKnow = new List<string>()
{"Your name", "The name of your spouse", "The name of your offsping"}};
var json = obj.Serialize();
var objDeserialized = json.Deserialize<QuestionnaireTemplateAdditionalDisplayInformation>();
Console.WriteLine(objDeserialized.Introduction);
public static class SerializeExtensions
private static JsonSerializerOptions defaultSerializerSettings = new JsonSerializerOptions()
{PropertyNamingPolicy = JsonNamingPolicy.CamelCase};
private static JsonSerializerOptions withfeatureXSerializerSettings = new JsonSerializerOptions();
public static string Serialize(this object obj)
return JsonSerializer.Serialize(obj, defaultSerializerSettings);
public static string Serialize(this object obj, JsonSerializerOptions settings)
return JsonSerializer.Serialize(obj, settings);
public static T Deserialize<T>(this string json)
return JsonSerializer.Deserialize<T>(json, defaultSerializerSettings);
public static T DeserializeCustom<T>(this string json, JsonSerializerOptions settings)
return JsonSerializer.Deserialize<T>(json, settings);
public static T DeserializeFeatureX<T>(this string json)
return JsonSerializer.Deserialize<T>(json, withfeatureXSerializerSettings);
public class QuestionnaireTemplateAdditionalDisplayInformation
public int Version { get; set; }
public string Introduction { get; set; } = string.Empty;
public List<string> ThingsToKnow { get; set; } = new List<string>();
public List<string> DocumentsNeeded { get; set; } = new List<string>();