Я не могу проверить jsonobject с помощью «is» в JsonDataObject

Делфи 11.2, Windows 10 x64

Я использую JsonDataObject из https://github.com/ahausladen/JsonDataObjects

Я не понимаю, почему я не могу проверить объект, чтобы узнать, является ли он TJsonArray или TJsonObject следующим образом:

if (arrayValue[0].ObjectValue is TJsonArray) or (arrayValue[0].ObjectValue is TJsonObject) then

Трудно сказать по одной строке кода. Пожалуйста, предоставьте минимальный воспроизводимый пример

Dave Nottage 19.04.2023 09:51
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
1
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

ObjectValue всегда TJsonObject и никогда не может быть TJsonArray. Точно так же, как ArrayValue всегда TJsonArray, оно никогда не может быть TJsonObject.

Чтобы узнать, к какому типу относится элемент массива, вместо этого используйте его свойство Typ:

if (arrayValue[0].Typ = jdtArray) or (arrayValue[0].Typ = jdtObject) then

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