Десериализовать строку json в переменную объекта в C # - PullRequest
0 голосов
/ 24 мая 2018

У меня есть следующий код:

var response = await client.PostAsync("http://localhost/test-request", content);

var responseString = await response.Content.ReadAsStringAsync();
var responseJSON = JsonConvert.DeserializeObject(responseString);

Console.WriteLine("Finished");

MessageBox.Show("Hi", responseJSON.value, MessageBoxButtons.OK);

responseString возвращается правильно, но я пытаюсь преобразовать его в объект, чтобы я мог делать более сложные вещи с возвращаемым значением.

Проблема в том, что C # / Visual Studio жалуется на то, что responseJSON.value не имеет значения (чего нет до завершения асинхронной операции)

Как мне обойти эту проблему?

1 Ответ

0 голосов
/ 24 мая 2018
var responseJSON = JsonConvert.DeserializeObject(responseString);

создает responseJSON как JSObject JSON.net.

Вам нужно либо

var responseJSON = JsonConvert.DeserializeObject<SomeObject>(responseString);

, либо

dynamic responseJSON = JsonConvert.DeserializeObject(responseString);
...