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; }、オブジェクト。create(null)); ファンクションget_value(short){ return termsDictionary [short]; //この式はもちろん、関数 なしで使用できます。 console.log(get_value( "_ YES")); * – osomanden
はTypeErrorを返します。terms.line_arrayは未定義です。[詳細はこちら] – osomanden