public static void Run() { string jsonString; // Serialize to create input JSON var weatherForecast = WeatherForecastFactories.CreateWeatherForecast(); var serializeOptions = new JsonSerializerOptions { WriteIndented = true }; serializeOptions.WriteIndented = true; jsonString = JsonSerializer.Serialize(weatherForecast, serializeOptions); Console.WriteLine($"JSON input:\n{jsonString}\n"); // Deserialize without converter // Properties are JsonElement type. WeatherForecastWithObjectProperties weatherForecastWithObjectProperties = JsonSerializer.Deserialize <WeatherForecastWithObjectProperties>(jsonString); weatherForecastWithObjectProperties.DisplayPropertyValues(); // <SnippetRegister> var deserializeOptions = new JsonSerializerOptions(); deserializeOptions.Converters.Add(new ObjectToInferredTypesConverter()); // </SnippetRegister> weatherForecastWithObjectProperties = JsonSerializer.Deserialize <WeatherForecastWithObjectProperties>(jsonString, deserializeOptions); weatherForecastWithObjectProperties.DisplayPropertyValues(); }
public static WeatherForecastWithObjectProperties CreateWeatherForecastWithObjectProperties() { var weatherForecast = new WeatherForecastWithObjectProperties { Date = DateTime.Parse("2019-08-01"), TemperatureCelsius = 25, Summary = "Hot" }; return weatherForecast; }
public static void DisplayPropertyValues(this WeatherForecastWithObjectProperties wf) { Utilities.DisplayPropertyValues(wf); Console.WriteLine(); }