public class DataModelExample
private static void Main(string[] args)
string dataModelObjectJson = @"[{
""Name"" : ""CreationDate""
""Name"" : ""DoubleThing""
DataModel[] dataModelObject = Utf8Json.JsonSerializer.Deserialize<DataModel[]>(dataModelObjectJson);
string dataObjectJson = @"[{
""Name"" : ""CreationDate"",
""Value"" : ""2022-03-04T10:35:00+02:00""
""Value"" : ""EntityNameHey""
""Name"" : ""DoubleThing"",
DataValueModel[] dataObject = Utf8Json.JsonSerializer.Deserialize<DataValueModel[]>(dataObjectJson);
foreach (var item in dataObject)
var objectType = dataModelObject.FirstOrDefault(x => x.Name == item.Name);
case DataElementType.DATETIMEOFFSET:
var successDateTimeOffset = DateTimeOffset.TryParse(item.Value, out DateTimeOffset parsedDateTimeOffset);
if (!successDateTimeOffset)
Console.Error.WriteLine($"Could not parse {item.Value} to a DateTimeOffset for field {item.Name}");
Console.WriteLine(parsedDateTimeOffset);
case DataElementType.STRING:
case DataElementType.INT:
Console.WriteLine(item.Value);
case DataElementType.DOUBLE:
if (item.Value is double)
Console.WriteLine(item.Value);
Console.Error.WriteLine($"Could not parse {item.Value} to a double for field {item.Name}");
public string Name { get; set; }
public DataElementType Type { get; set; }
public struct DataValueModel
public string Name { get; set; }
public dynamic Value { get; set; }
public enum DataElementType