using System.Collections.Generic;
using System.Text.Json.Serialization;
public static void Main()
var testPayload1 = new EgvPayload()
Source = new Dictionary<string, object>()
AdditionalData = new Dictionary<string, object>()
var feature = new DataFeature
Type = $"level2#egv#{testPayload1.Type}",
Data = testPayload1.AdditionalData,
Version = testPayload1.Version,
Source = JsonSerializer.Serialize(testPayload1.Source),
FeatureDateTime = testPayload1.Date.ToString()
var output = JsonSerializer.Serialize(feature);
Console.WriteLine(output);
public string Type {get;set;}
public DateTime Date {get;set;}
public string Pim {get;set;}
public IDictionary<string, object> Source {get;set;}
public string Version{get;set;}
public IDictionary<string, object> AdditionalData { get; set; }
public string DeviceModel {get;set;}
public class DataSufficiency
public string Value {get;set;}
public string Count {get;set;}
public string ExpectedCount {get;set;}
public record DataFeature
public object Data { get; init; }
public string Type { get; init; }
public string Version { get; init; }
public string Source { get; init; }
public string FeatureDateTime { get; init; }