Исключение: '<' является недопустимым началом значения - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть проект Blazor Webassembly с методом контроллера следующим образом:

[HttpGet]
    public async Task<List<string>> GetStatesForProfile()
    {
        IConfigurationSection statesSection = configuration.GetSection("SiteSettings:States");
        var sections = statesSection.GetChildren();
        var states = statesSection.GetChildren().Select(s => s.Key).ToList<string>();
        return states;            
    }

Страница бритвы вызывает этот метод:

private async Task<bool> GetStatesModel()
{
    try
    {
        States = await http.GetJsonAsync<List<string>>("api/account/getstatesforprofile");            
        ...
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Exception: {ex.Message}, Inner: {ex.InnerException.Message}");
    }

Я получаю это исключение:

Исключение: '<' является недопустимым началом значения. </p>

Я читаю эти значения из файла appsettings. json, и в значениях нет '<'. </p>

{      
  "SiteSettings": {    
    "States": {
      "New York": ["NYC"],
      "California": ["Los Angeles", "San Francisco"]
    }
 }

Также я поставил точку останова в методе контроллера, и он не срабатывает. Что это за ошибка? Это от разбора json? и как это решить?

1 Ответ

0 голосов
/ 28 апреля 2020

Скорее всего, вы получите ответ html вместо фактического JSON формата для запрашиваемой конечной точки. Пожалуйста, проверьте это.

Обычно as HTML начинается с тега <html>, валидатор JSON завершается неудачно с самого первого символа.

...