using System.Collections.Generic;
public class CompassFunction
public static void Main()
CompassFunction cf = new CompassFunction();
public string Run(string input)
string jsontest = "{ \"PortCruiseInfo\": [{ \"SYSTEMCRUISE\": \"3041263\",\"CRUISESTARTDATE\": \"202304220000\",\"CRUISEENDDATE\": \"202304290000\" }, { \"SYSTEMCRUISE\": \"3041283\",\"CRUISESTARTDATE\": \"202304290000\",\"CRUISEENDDATE\": \"202305040000\" }] }";
dynamic parsedObj = JsonConvert.DeserializeObject<dynamic>(jsontest);
foreach (var sailing in parsedObj.PortCruiseInfo)
Console.WriteLine(sailing.GetType());
string cruiseStartDate = sailing.CRUISESTARTDATE;
string cruiseEndDate = sailing.CRUISEENDDATE;
var parsedStartDate = ParseTimestamp(cruiseStartDate);
var parsedEndDate = ParseTimestamp(cruiseEndDate);
sailing.Add("startDateISO",parsedStartDate);
sailing.Add("endDateISO",parsedEndDate);
string updatedJson = JsonConvert.SerializeObject(parsedObj);
private DateTime ParseTimestamp(string timestamp)
string year = timestamp.Substring(0, 4);
string month = timestamp.Substring(4, 2);
string day = timestamp.Substring(6, 2);
var parsedDt = DateTime.Parse($"{year}-{month}-{day}");