0

私のコードスニペット:

function receive(mag)
{
    var text = eval(mag);
    alert(text);
}

receive('["magnolia,", ["Magnolia (Flower)"], [], [], [], [], [], [[3, 19019, "INV_MAG_39 ", 5]]]');

例(上に表示)で文字列を渡すと、はeval(mag)機能しません。しかし、私がこのように直接それを行う場合:

function receive(mag)
{
    var text = eval('["magnolia,", ["Magnolia (Flower)"], [], [], [], [], [], [[3, 19019, "INV_MAG_39 ", 5]]]');
    alert(text);
}

それは機能します。誰かが何が間違っているのか/渡された変数でそれを機能させるにはどうすればよいか考えていますか?

4

1 に答える 1

4

括弧が足りないと思います:

eval('(' + mag + ')')

しかし、JSON.parse を使用しないのはなぜですか??

var text = JSON.parse(mag);
于 2012-09-11T22:45:28.630 に答える