问题是这样的,现在有一个控件,其中有一个参数是一个数组,而这个数组是通过在数据库表里的内容动态拼接而成.这样做的缺点是,每次页面加载都要动态生成这个数组参数,造成效率低下.我现在的想法是,预先将每次加载要动态生成的数组参数拼接好,存在数据库的表里,这样每次加载页面的时候直接将这个参数取出来即可.但是碰到一个问题,参数是数组类型的,但是数据库里的数据是字符串,如下
正确的是   [{name:"district", title:"区"},{name:"count", title:"数量"}]
数据库里取出来的是    "[{name:"district", title:"区"},{name:"count", title:"数量"}]"字符串赋值给数组类型时,就会出错,请问有什么好的解决方法

解决方案 »

  1.   

    用动态语法来设置就行了<%
    s= "[{name:""district"", title:""区""},{name:""count"", title:""数量""}]"
    %><script>
    var d=<%=s%>//////////////////这样就得到json数组了,
    </script>
      

  2.   

    你可以在动态页放置上面的代码啊。。js文件的话你是用ajax动态获取的内容?那么可以eval动态转换字符串为json对象var s= '[{name:"district", title:"区"},{name:"count", title:"数量"}]'var o=eval('('+s+')')//o就是你要的json对象了
      

  3.   

    var a = '[{name:"district", title:"区"},{name:"count", title:"数量"}]';
    var arr = eval("("+a+")");
    alert(arr[0].title);