简体   繁体   中英

How to specify value for key in JSON map (in JavaScript)?

I probably am using the wrong terminology here but this is what I'm trying to do. I want to create a map with a value for each key and a value for each key's object. So using this code:

var myMap = {};
var keyVal = "abc";
var objVal = "123";
myMap.keyVal = objVal;

Now what I want to return is a JSON object that looks like {"abc":"123"} but instead it returns {"keyVal":"123"} . How can I get it to use the actual variable contents for the key instead of the variable name? (or really I guess it's not using the variable at all, just treating 'keyVal' as the key name)

Use square bracket notation :

myMap[keyVal] = objVal;
        var datajson = JSON.parse(data);
        var keyArr = Object.keys(datajson);
        for ( var i = 0; i < keyArr.length; i++) {
            var val = datajson[keyArr[i]];
            }
var keyVal = "abc";
var objVal = "123";
eval("myMap." + keyVal + "='" + objVal + "'")

An alternative, but eval is not recommended

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM