Нуль-коалесцирующий оператор в соединении с JObject

Ниже приведен код, написанный для чтения JArray из данного объекта JObject.

Насколько я понимаю, когда значение тегов в JObject равно нулю, IEnumerable должен быть инициализирован как пустой.

IEnumerable<string> tags = eventPayload?["tags"]?.Values<string>() ?? Enumerable.Empty<string>();

Тем не менее, эти строки выдают исключение, когда JSON выглядит

{
    "tags": null   
}

System.InvalidOperationException
  HResult=0x80131509
  Message=Cannot access child value on Newtonsoft.Json.Linq.JValue.

Если бы я должен был сделать приведенную выше строку прочитанной как ноль и инициализировать перечисляемую как пустую, какие изменения мне нужно сделать?

1 ответ

Проблема в том, что eventPayload?["tags"] является JValue.Nullне null,

Другие вопросы по тегам