user1902467 user1902467 - 11 days ago 6
Javascript Question

Unable to access JSON property with "-" dash

I am unable to retrieve a value from a json object when the string has a dash character:

{
"profile-id":1234, "user_id":6789
}


If I try to reference the parsed
jsonObj.profile-id
it returns
ReferenceError: "id" is not defined
but jsonObj.user_id will return 6789

I don't have a way to modify the values being returned by the external api call and trying to parse the returned string in order to remove dashes will ruin urls, etc., that are passed as well. Help?

Answer

jsonObj.profile-id is a subtraction expression (i.e. jsonObj.profile - id).

To access a key that contains characters that cannot appear in an identifier, use brackets:

jsonObj["profile-id"]