Как ссылаться на поля объекта с переменной?
Давайте предположим, что у меня есть объект:
var obj = {"A":"a", "B":"b", "x":"y", "a":"b"}
Когда я хочу сослаться на "A", я просто пишу obj.A
Как это сделать, когда у меня есть ключ в переменной, т.е.
var key = "A";
Есть ли функция, которая возвращает значение или null
(если ключ не находится в объекте)?
Ответы
Ответ 1
Используйте обозначения скобок, например:
var key = "A";
var value = json[key];
В JavaScript эти два эквивалента:
object.Property
object["Property"];
И только для того, чтобы быть ясным, это не специфический JSON, JSON - это всего лишь определенный поднабор объектной нотации... это работает на любом объекте JavaScript. Результат будет undefined
, если он не находится в объекте, вы можете попробовать все это здесь.
Ответ 2
Как насчет:
json[key]
Try:
json.hasOwnProperty(key)
для второй части вашего вопроса (см. Проверка наличия ключа в объекте JavaScript?)