Flex 4.5 JSON проверяет наличие ключа до исключения? - PullRequest
0 голосов
/ 21 ноября 2011

Можно ли проверить наличие ключа до того, как Flex 4.5 JSON сгенерирует исключение для ключа, который не найден?У меня есть некоторые данные JSON, где некоторые ключи не всегда присутствуют.

Я использую CallResponder ...

Проблема в том, что при попытке доступа к callResponder.lastResponse.key - и, скажем, ключ не всегда присутствует в вашем json, Flex не сможетразобрать это.Это происходит, даже если вы проверите if (callResponder.lastResponse.key) - ошибка возникает в строке if, в этом случае


(см. старый дамп ошибок здесь )


Ответ, приведенный ниже, работает для случаев, когда ключи являются узлами верхнего уровня в JSON.Однако кажется, что он не может разобрать существование дочерних ключей.Я не ожидал, что будет различие между синтаксическим анализом для узлов верхнего уровня и дочерних узлов, но, очевидно, это так.

Для ясности (поскольку я не упоминал, что пытаюсь проанализировать дочерние ключи в своем исходном вопросе), я создал новый вопрос, в котором конкретно задается вопрос, как анализировать дочерние ключи, используя методниже - или другой метод, если необходимо: Flex 4.5 Как проверить наличие ключа дочернего узла JSON (используя hasOwnProperty или другие методы)

1 Ответ

0 голосов
/ 21 ноября 2011

Как вы обрабатываете данные JSON?

В своей памяти я использую JSON.decode (String) и получил массив.Для каждого объекта вы можете использовать obj.hasOwnProperty (ключ), чтобы проверить, присутствует ли он.

...