php 转义问题

clipboard.png

public function details()
   {
       $goods_info = $this->goodsModel->get_one(26);
       $this->data = $goods_info;
      # sui($goods_info);
       $this->code=1;
       $this->message = 'success';
       $res = ['code'=>$this->code, 'msg'=>$this->message, 'data'=>$this->data];
       echo(json_encode($res,JSON_UNESCAPED_SLASHES));
   }
 "goods_standard": "[{\"item1\":\"大分\",\"item2\":\"五香\",\"price\":\"6.6\",\"num\":\"\",\"code\":\"\",\"remark\":\"\"},{\"item1\":\"大分\",\"item2\":\"微辣\",\"price\":\"5.6\",\"num\":\"\",\"code\":\"\",\"remark\":\"\"},{\"item1\":\"大分\",\"item2\":\"麻辣\",\"price\":\"6.5\",\"num\":\"\",\"code\":\"\",\"remark\":\"\"},{\"item1\":\"中份\",\"item2\":\"五香\",\"price\":\"6.2\",\"num\":\"\",\"code\":\"\",\"remark\":\"\"},{\"item1\":\"中份\",\"item2\":\"微辣\",\"price\":\"6.2\",\"num\":\"\",\"code\":\"\",\"remark\":\"\"},{\"item1\":\"中份\",\"item2\":\"麻辣\",\"price\":\"6.2\",\"num\":\"\",\"code\":\"\",\"remark\":\"\"},{\"item1\":\"小份\",\"item2\":\"五香\",\"price\":\"5\",\"num\":\"\",\"code\":\"\",\"remark\":\"\"},{\"item1\":\"小份\",\"item2\":\"微辣\",\"price\":\"5\",\"num\":\"\",\"code\":\"\",\"remark\":\"\"},{\"item1\":\"小份\",\"item2\":\"麻辣\",\"price\":\"5\",\"num\":\"\",\"code\":\"\",\"remark\":\"\"}]",

clipboard.png

thinkphp5 转义不了啊........速救

阅读 2.1k
1 个回答

goods_standard: 是哪取出来的,出现这样的问题,主要是goods_standard这个字段里的数据,本来就是json格式的,你用json_encode 再转变一就这样了,你可以运行一下以下代码,看看是data字段是不是和你的结果很像

<?php
$data = json_encode(['data'=>'大','data1'=>'小']);
$arr = ['name'=>'papersnake','age'=>'35','data'=>$data];
echo(json_encode($arr));
?>

解决方案也有两种,
1: 在服务端把goods_standard json_decode 一下转为对象
2:也可以直接放送这样的JSON到客户端,客户端用JSON.parse() 进行转换

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