В Windows Excel VBA как получить ключи JSON с предупреждением «Ошибка времени выполнения« 438 »: объект не поддерживает это свойство или метод»?

отвечая на мой собственный вопрос здесь.
Я проделал некоторую работу с JSON в Excel VBA и опубликовал множество выводов, которые я сделаю в формате вопросов и ответов.https://stackoverflow.com/help/self-answer http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/

Так что в другом месте на stackoverflow можно увидеть вопросы о синтаксическом анализе JSON в VBA, но они, кажется, пропускают хитрость или два.

Для начала я отказываюсь от использования пользовательских библиотек синтаксического анализа JSON и вместо этого использую метод ScriptControl Eval как основу всего моего кода JSON. А также мы выражаем предпочтение родным решениям Microsoft.

Вот предыдущий вопросВ Excel VBA в Windows, как смягчить проблему точечного синтаксического анализа проанализированного JSON, нарушенного поведением заглавных букв в среде IDE? на котором строится этот вопрос. Он показывает, что использование VBA.CallByName более надежно, чем использование точечного синтаксиса для прохождения проанализированного объекта JSON. Также еще один предыдущий вопросВ Excel VBA на Windows, как пройти через анализируемый массив JSON? показывает, как его также можно использовать для доступа к элементам массива. Но CallByName возвращает любопытный тип переменной, который появляется в окне Watch как Object / JScriptTypeInfo, и если один тип Debug.Print в непосредственном окне (или наводит курсор на переменную), он получает неинформативный «[object Object]». По другому вопросу в серииВ Excel VBA в Windows, как получить строковое представление JSON вместо «[объект объекта]» для проанализированных переменных JSON? Я представляю некоторый отладочный «сахар», который позволяет хорошо проверить переменные.

В этом вопросе я спрашиваю, как мы можем программно получить список членов, с помощью которых я могу обнаружить присутствие ключа, это поможет предупредить любую «ошибку времени выполнения« 438 »: объект не поддерживает это свойство или метод "ошибки и позволяют ли мы писать защитный (надеюсь" пуленепробиваемый ") код?

Это Вопрос 4 из серии 5. Вот полная серия

Q1В Excel VBA в Windows, как смягчить проблему точечного синтаксического анализа проанализированного JSON, нарушенного поведением заглавных букв в среде IDE?

Q2В Excel VBA на Windows, как пройти через анализируемый массив JSON?

Q3В Excel VBA в Windows, как получить строковое представление JSON вместо «[объект объекта]» для проанализированных переменных JSON?

Q4В Windows Excel VBA как получить ключи JSON с предупреждением «Ошибка времени выполнения« 438 »: объект не поддерживает это свойство или метод»?

Q5В Excel VBA для Windows, для проанализированных переменных JSON, что это за JScriptTypeInfo?

Ответы на вопрос(1)

Ваш ответ на вопрос