Имея строку JSON (укороченный):Javascript массив JSON выход
{"line_array":[{"short":"[common]","long":"undefined"},{"short":"_YES","long":"Yes"},{"short":"_NO","long":"No"},{"short":"_NOT","long":"Not "},{"short":"_SEARCH","long":"Search"},{"short":"_GO","long":"Go"}]}
Я хотел бы иметь возможность вызвать функцию, которая возвращает «длинную» значение, основанное на «короткой» значение:
like:
var test= 'Say '+get_value("_YES");
Как это сделать?
Пробовал:
function f_lang(short_string) {
var obj = json_string;
var arr = [];
json = JSON.stringify(eval('(' + obj + ')')); //convert to json string
arr = $.parseJSON(json); //convert to javascript array
return arr['line_array'][short_string];
}
не повезло
дает TypeError: termsDictionary не определено на словарной примере – osomanden
Используя его. * var terms = str; var termsDictionary = terms.line_array.reduce (function (d, t) { d [t.short] = t.long; return d; }, Object.создание (нуль)); функция get_value (короткий) { возвращение условияDictionary [короткий]; // вы можете использовать это выражение без функции, конечно } console.log (get_value ("_ YES")); * – osomanden
дает TypeError: terms.line_array undefined [Узнать больше] – osomanden