Нуль-коалесцирующий оператор в соединении с 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
,