Как проверить, если динамическая пуста. - PullRequest
8 голосов
/ 29 июля 2011

Я использую Json.NET от Newtonsoft для десериализации строки JSON:

var output = JsonConvert.DeserializeObject<dynamic>("{ 'foo': 'bar' }");

Как я могу проверить, что output пусто?Пример теста:

var output = JsonConvert.DeserializeObject<dynamic>("{ }");
Assert.IsNull(output); // fails

Ответы [ 2 ]

15 голосов
/ 29 июля 2011

Объект, который вы получите от DeserializeObject, будет JObject, который имеет свойство Count. Это свойство говорит вам, сколько свойств объекта.

var output = JsonConvert.DeserializeObject<dynamic>("{ }");

if (((JObject)output).Count == 0)
{
    // The object is empty
}

Это не скажет вам, если динамический объект пуст, но сообщит, если десериализованный объект JSON пуст.

3 голосов
/ 16 января 2017

Вы также можете проверить с помощью следующего кода:

var output = JsonConvert.DeserializeObject<dynamic>("{ }");
if (output as JObject == null)
{
}

Это сработало для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...