2012-04-25 3 views
54

Я следующий объект 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' 

Как получить доступ к значениям, чьи имена ключей имеют пробелы? Возможно ли это?

+9

вы уверены? http://jsfiddle.net/hoedinie/StU38/ он отлично подходит для меня – amaters

ответ

115

Способ сделать это через обозначение кронштейна.

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

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

+0

Благодарим вас за ссылку на документацию. Удивительно, сколько ответов не хватает этой важной детали. –

0

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

Например, мы имеем I значения и получить значение поля идентификатора

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

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

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

alert(obj[i]["No. of interfaces"]); //works too! 
Смежные вопросы