Parsing JSON w/ @ at sign symbol in it (arobase)
My JSON object evaluates to:
{ "@io": IO, "@type": XXX }
If this variable is called my_json
, how do I access the @type
value of XXX? I tried my_json.@type
, but this is giving errors. Help appreciated. Thanks,
Nick
Solution 1:
Use square bracket notation with a string:
var XXXValue = my_json['@type'];
The same can be used when you have a property name in a variable. Using your same example:
var propertyName = '@type';
var XXXValue = my_json[propertyName];
Solution 2:
As you've discovered, you can't use an @ symbol in a Javascript variable name, my_json.@type
is invalid.
The good news for you is that you can access your variables as array subscripts. You would do it like this:
my_json["@type"]
Hope that helps.
Solution 3:
If it ends up evaluating you can take the object and probably grab it by the key.
ie obj["@type"]. But something does seem a bit off.