-1
var temp = { "100" = ["submenu 4", "submenu 5", "submenu 6"],
        "136" = ["submenu 10", "submenu 11", "submenu 12"],
        "125" = ["submenu 19", "submenu 20", "submenu 21"],
        "99"  = ["submenu 16", "submenu 17", "submenu 18"], 
        "77"  = ["submenu 13", "submenu 14", "submenu 15"],
        "70"  = ["submenu 1", "submenu 2", "submenu 3"],
        "4"  = ["submenu 7", "submenu 8", "submenu 9"] };

=:記号に置き換える方法は? またはjquery関数で上記の一時を繰り返す方法は?

解決策を教えてください。

4

3 に答える 3

1
var temp = '{ "100" = ["submenu 4", "submenu 5", "submenu 6"],
        "136" = ["submenu 10", "submenu 11", "submenu 12"],
        "125" = ["submenu 19", "submenu 20", "submenu 21"],
        "99"  = ["submenu 16", "submenu 17", "submenu 18"], 
        "77"  = ["submenu 13", "submenu 14", "submenu 15"],
        "70"  = ["submenu 1", "submenu 2", "submenu 3"],
        "4"  = ["submenu 7", "submenu 8", "submenu 9"] }';
temp = temp.replace(/=/g,":");
temp = JSON.parse(temp);

このようなもの?

于 2012-10-15T14:45:20.330 に答える
1

この JSON は無効であり、temp で「=」を置き換えることはできません。temp は、この値をそれに割り当てようとするとエラーをスローするためです。機能させるためにコード内で置き換えてください。そうしないと、これを繰り返すことができません。

于 2012-10-15T14:43:58.270 に答える
0

=記号をに変更する以外に、これに対する有効な解決策はありません:。その点で完全に停止します。これは文字通り、これを実際に修正して有効な JavaScript オブジェクトにする唯一の方法です。

これを外部ソースから取得している場合は、いくつかの正規表現の変更を行うことができます。それがあなたのコードである場合は、シンボルを変更するだけです。

于 2012-10-15T14:48:58.847 に答える