json 把字符全部转换成了\u开头的串,如何用js转换回去?

解决方案 »

  1.   

    不用转,你的定义里估计没有定义类型,比如JQ
    前端部分如:
    $.ajax({
      url:url,
      type:'get',
      dataType:'json',//这里一定要定义成json,否则会无效果
      ...
      })
    后台假设是php也需要定义页面为:
    header("ContentType:application/json");
    asp就是:
    response.contenttype="application/json"
      

  2.   

    另外json传递的数据里如果有中文,一定记得加编码
    后台asp:
    <% codepage=65001%>
    <%
    response.charset="utf-8"
    ...
    %>
    前端部分记得加:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>然后记事本转化文本本身也为同一种编码utf-8
    这样才能保证中文不乱码!
      

  3.   

    1楼方法可行,\u开头的是json编码。
      

  4.   

    var val= unescape(source.replace(/\\/g,'%'));
    alert(val);
    这里的source就是你的例如:"\u4f60\u597d\u554a"这样的字符串val就是正常的文字了
      

  5.   

    我想问下。如何把正常的代码转换成  例如:"\u4f60\u597d\u554a"这样的字符串
      

  6.   


    escape(str).replace(/%/g,'\\');一般不会这么无聊 专门去escape一下一般是json数据传输中为了解决中文乱码的问题 在后台需要把数据处理下
    例如在php中是 $str=iconv('gb2312','utf-8',$str)
    然后在json_encode($str);