Как указать значение для ключа в карте JSON (в JavaScript)? - PullRequest
0 голосов
/ 19 июля 2011

Возможно, я здесь использую неправильную терминологию, но это то, что я пытаюсь сделать.Я хочу создать карту со значением для каждого ключа и значением для объекта каждого ключа.Итак, используя этот код:

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

Теперь я хочу вернуть объект JSON, который выглядит как {"abc":"123"}, но вместо этого возвращает {"keyVal":"123"}.Как я могу заставить его использовать фактическое содержимое переменной для ключа вместо имени переменной?(или, на самом деле, я полагаю, что она вообще не использует переменную, просто рассматривает keyVal как имя ключа)

Ответы [ 3 ]

7 голосов
/ 19 июля 2011

Использование квадратная скобка :

myMap[keyVal] = objVal;
0 голосов
/ 22 ноября 2013
        var datajson = JSON.parse(data);
        var keyArr = Object.keys(datajson);
        for ( var i = 0; i < keyArr.length; i++) {
            var val = datajson[keyArr[i]];
            }
0 голосов
/ 19 июля 2011
var keyVal = "abc";
var objVal = "123";
eval("myMap." + keyVal + "='" + objVal + "'")

Альтернатива, но eval не рекомендуется

...