ASP.NET CORE Serialized Object с FileInfo возвращает неполный JSON ⇐ C#

Место общения программистов C#
Anonymous
ASP.NET CORE Serialized Object с FileInfo возвращает неполный JSON

Сообщение Anonymous »

У меня есть проект ASP.NET CORE 2.2 с контроллером, метод GET, метод GET возвращает объект, который содержит свойство System.io.fileinfo . Когда я называю API (например, в веб -браузере), он возвращает неполную строку JSON.

Код: Выделить всё

public class Thing
{
public string Name { get; set; }
public FileInfo File { get; set; }
}
< /code>

Вот контроллер, программа и классы запуска: < /p>

[Route("Test/Home")]
[ApiController]
public class HomeController : Controller
{
[HttpGet]
public async Task GetThing()
{
return new Thing()
{
Name = "First thing",
File = new FileInfo("c:\file.txt")
};
}
}

public class Program
{
public static async Task Main(string[] args)
=> await CreateWebHostBuilder(args).Build().RunAsync();

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args).UseStartup();
}

public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddSingleton();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseHttpsRedirection();
app.UseMvc();
}
}
< /code>

Вот URL: < /p>

https://localhost:44381/Test/Home
< /code>

и результат, который я получаю: < /p>

{"$id":"1","name":"First thing","file":
< /code>

Так почему же строка JSON неполна, разбиваясь в объекте FileInfo < /code>?  FileInfo 
является сериализуемо.

Вот полный проект, если вы хотите попробовать его самостоятельно:

https://github.com/roryap/fileinfoaspne ... sueобразно Очевидно, здесь нет. />https://stackoverflow.com/a/49224944/2704659

Подробнее здесь: https://stackoverflow.com/questions/566 ... plete-json

Вернуться в «C#»