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函数中迭代上面的temp?
请提供解决方案。
答案 0 :(得分:1)
此JSON无效,您无法在temp中替换'=',因为temp会在尝试将此值赋给它时引发错误。在代码中替换它以使其工作,否则您无法对此进行迭代。
答案 1 :(得分: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);
这样的东西?
答案 2 :(得分:0)
除了将=
标志更改为:
之外,没有其他有效的解决方案。在这一点上完全停止。这实际上是解决这个问题的唯一方法,并使其成为有效的JavaScript对象。
如果从外部源获取此信息,可以对其进行一些正则表达式更改。如果是您的代码,则只需更改符号即可。