php json_encode转义后的中文怎么在js中转义回来

自行脑补
  • 1k

$every_day = json_encode($day_clues['every_day']);
转义后的$every_day在js上是这样的:

["12u670818u65e5","12u670819u65e5","12u670820u65e5","12u670821u65e5","12u670822u65e5","12u670823u65e5","12u670824u65e5","12u670825u65e5","12u670826u65e5","12u670827u65e5"];
js中是怎么转义回来的,加上eval()吗,试过了没用啊

回复
阅读 3.3k
4 个回答
✓ 已被采纳

php 输出JSON的时候 声明header 头

 header("Content-Type: application/json; charset=utf-8");

正常是不用再转义的

json_encode加个参数

json_encode([],JSON_UNESCAPED_UNICODE);

js解析json

JSON.parse('["12u670818u65e5","12u670819u65e5","12u670820u65e5","12u670821u65e5","12u670822u65e5","12u670823u65e5","12u670824u65e5","12u670825u65e5","12u670826u65e5","12u670827u65e5"]');
吴向东
  • 4
新手上路,请多包涵

var obj = $.parseJSON(msg);
或者
var obj = eval("("+msg+")");

不需要转义的. \u1234 这种表示 的是unicode码, js认识. 只是人不认识而已.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏