Разбор JSON с @ на символе знака в нем (arobase) - PullRequest
21 голосов
/ 04 августа 2011

Мой объект JSON оценивается в:

{ "@io": IO, "@type": XXX }

Если эта переменная называется my_json, как мне получить доступ к значению @type XXX? Я пытался my_json.@type, но это дает ошибки. Помощь приветствуется. Спасибо,

Ник

Ответы [ 3 ]

36 голосов
/ 04 августа 2011

Используйте обозначение в квадратных скобках со строкой:

var XXXValue = my_json['@type'];

То же самое можно использовать, когда у вас есть имя свойства в переменной. Используя тот же пример:

var propertyName = '@type';
var XXXValue = my_json[propertyName];
9 голосов
/ 04 августа 2011

Как вы обнаружили, вы не можете использовать символ @ в имени переменной Javascript, my_json.@type недопустимо.

Хорошей новостью для вас является то, что вы можете обращаться к своим переменным как к подпискам массива. Вы бы сделали это так:

my_json["@type"]

Надеюсь, это поможет.

1 голос
/ 04 августа 2011

Если он заканчивается оценкой, вы можете взять объект и, вероятно, взять его ключом.

т.е. obj ["@ type"]. Но что-то кажется немного странным.

...