Ashish Agarwal
Ashish Agarwal

Reputation: 6283

how to add string with special character as json key?

I want to add string with special character in JSON as KEY.For example "Sam@123"
Here is the code, that I am trying.

<script type="text/javascript">

var jsonObj={"sam":1,"rudolph":1,"js":1," ":12};
var key="samw@123";
alert("Add it.")
// Adding the key with Special Character in JSON
eval("jsonObj."+key+"=11")
alert("Added successfully.")

for(var i=0; i< Object.keys(jsonObj).length; i++){
alert("KEY#"+Object.keys(jsonObj)[i]);
}

</script>

I am getting following error at line 6 "eval......".

Uncaught SyntaxError: Unexpected token ILLEGAL

Is there any other way to add special character in Json as KEY?

I am also not able to add

var key="samw-123";

for this I am getting error saying

Uncaught ReferenceError: Invalid left-hand side in assignment

Upvotes: 1

Views: 5597

Answers (1)

Shadow Wizard
Shadow Wizard

Reputation: 66389

Should work fine using such syntax instead:

eval("jsonObj['" + key + "'] = 11");

Actually, eval is not even required:

jsonObj[key] = 11;

Upvotes: 6

Related Questions