.NET Core 3 System.Text.Json сериализация вложенных объектов - PullRequest
0 голосов
/ 26 сентября 2019

Просто играю с новым System.Text.Json , используя шаблон веб-приложения VS2019:

Имея объявление класса прогноза погоды как:

using System;

namespace WebApplication4
{
    public class WeatherForecast
    {
        public DateTime Date { get; set; }
        public int TemperatureC { get; set; }
        public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
        public string Summary { get; set; }
    }
}

Пример метода:

 [HttpGet("Test1")]
    public WeatherForecast Test1()
    {
        WeatherForecast forecast = new WeatherForecast();
        return forecast;
    }

Работает нормально, возвращено: {"date": "0001-01-01T00: 00: 00", "TemperatureC": 0, "temperatureF": 32, "summary":null}

Но этот код:

 public class TestClass
    {
        public WeatherForecast Forecast;
    }

    [HttpGet("Test")]
    public TestClass Test()
    {
        WeatherForecast forecast = new WeatherForecast();
        TestClass test = new TestClass()
        {
            Forecast = forecast
        };
        return test;
    }

возвращает emply объект json: {}

Как сериализовать вложенные объекты?

1 Ответ

0 голосов
/ 26 сентября 2019

Вам нужно использовать свойства, возможно, поля не будут сериализованы.Добавить получить и установить прогноз.

public class TestClass
{
    public WeatherForecast Forecast {get;set;}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...