ArgumentException при преобразовании JSON в модель с использованием Newtonsoft в ASP.Net Core - PullRequest
0 голосов
/ 03 июля 2019

Я использую Newtonsoft в своем веб-приложении ASP.Net Core и веб-API, но я получаю

ArgumentException: Не удалось привести или преобразовать из System.String в TCGInfo.WebUI.Models.TCGModel.

Вот мой код:

Создать JSON:

    public async Task<string> GetTCGList()
    {
        var TCGList = await _manageCardHelper.GetTCGList();
        var json = JsonConvert.SerializeObject(TCGList);
        return json;
    }

Прочитайте JSON:

        var response = await httpClient.GetAsync("GetTCGList");

        if (response.IsSuccessStatusCode)
        {
            var jsonResult = JsonConvert.DeserializeObject<TCGModel>(await response.Content.ReadAsStringAsync());

        }

Модель:

public class TCGModel
{
    public string Abbreviation { get; set; }
    public string Name { get; set; }
}

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Из приведенного выше кода все, что я могу сказать, это JsonConvert.DeserializeObject должен взять список TCFModel вместо TCFModel. Следующая строка кода должна работать.

var jsonResult = JsonConvert.DeserializeObject<List<TCGModel>>(await response.Content.ReadAsStringAsync());
0 голосов
/ 03 июля 2019

Исходя из выбранного маршрута («GetTCG Список »), я предполагаю, что вы на самом деле получаете массив моделей, а не только одну.Вы должны сказать DeserializeObject, что:

jsonResult = JsonConvert.DeserializeObject<List<TCGModel>>(await response.Content.ReadAsStringAsync());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...