овет метод / контроллер

енес свой веб-сервис на .NET Core 2.0, он работает нормально, но у меня проблема с получением ответа в виде строки json.

Метод по API:

    [HttpGet]
    [ProducesResponseType(typeof(string), 200)]
    [ProducesResponseType(typeof(EntityNotFoundErrorResult), 404)]
    public async Task<IActionResult> GetCurrenciesAsync()
    {
        var result = await service.GetByTypeAsync(ObjectType.Currency.ToString());

        return Ok(result);
    }

который возвращает правильный JSON какresult:

"{\"elements\": [{\"Id\": \"1\", \"Symbol\": \"PLN\"},{\"Id\": \"2\", \"Symbol\": \"SIT\"}]}"

Тогда на клиенте я пользуюсьстек обслуживания чтобы получить мои валюты в виде строки:

    public virtual IEnumerable<CurrencyData> GetCurrencies()
    {
        string response = null;

        try
        {
            response = api.Get<string>("/Currencies");
        }
        catch (Exception e)
        {
        }

        return string.IsNullOrEmpty(response) ? null :  JsonConvert.DeserializeObject<TempCurrencyClass>(response).elements;
    }

Иresponse выглядит так:

"\"{\\\"elements\\\": [{\\\"Id\\\": \\\"1\\\", \\\"Symbol\\\": \\\"PLN\\\"},{\\\"Id\\\": \\\"2\\\", \\\"Symbol\\\": \\\"SIT\\\"}]}\""

ТакJsonConvert.DeserializeObject выдает исключение десериализации:

Newtonsoft.Json.JsonSerializationException

Но это работает, когда я десериализирую ответ на жало и на то, чтобы повиноваться:

var x = JsonConvert.DeserializeObject<string>(response);
var deserialized = JsonConvert.DeserializeObject<TempCurrencyClass>,;(x).elements;

Я предполагаю, что проблема на клиенте, верно? Что ж, странно то, что на .NET Core 1.1 все работает нормально.

Что мне не хватает?

Ответы на вопрос(1)

Ваш ответ на вопрос