Доступ к ключам объектов JSON, имеющим пробелы


у меня есть следующий объект json:

{ "id": "109",
  "No. of interfaces": "4" }

следующие строки работают нормально:

alert(obj.id);
alert(obj["id"]);

но если ключи имеют пробелы, то я не могу получить доступ к их значениям, например

alert(obj."No. of interfaces"); //Syntax error
alert(obj["No. of interfaces"]); //Return 'undefined'

как я могу получить доступ к значениям ключей, чьи имена содержать пробелы? Это вообще возможно?

2 58

2 ответа:

способ сделать это через квадратные скобки.

var test = {
    "id": "109",
    "No. of interfaces": "4"
}
alert(test["No. of interfaces"]);

для получения дополнительной информации читайте здесь:

ответ Pardeep Jain может быть полезен для статических данных, но что, если у нас есть массив в JSON?

например, мы имеем значения i и получаем значение поля id

alert(obj[i].id); //works!

но что, если нам нужен ключ с пробелами?

в этом случае может помочь следующая конструкция (без точки между блоками []):

alert(obj[i]["No. of interfaces"]); //works too!