如何精确去掉变量后的双引号,不用正则

去掉answer后面的一对双引号 只保留"answer":{} 我该怎么做

{
        "hr_email":"4564",
        "test_name":"dadsa",
        "email":"dsad@qq.com",
        "sex":"\u5973","host":"",
        "checkcode":"aa458",
        "answer":"{"A1":"0|1","A2":"1|5","A3":"1|4","A4":"1|4","A5":"1|4","A6":"1|3","A7":"1|4","A8":"1|5","A9":"1|3","A10":"1|4","A11":"1|4","A12":"1|2","A13":"1|4","A14":"1|2","A15":"1|3","A16":"1|4","A17":"1|4","A18":"1|3","A19":"1|4","A20":"1|5","A21":"1|2","A22":"1|3","A23":"1|3","A24":"1|5","A25":"1|3","A26":"1|3","A27":"1|4","A28":"1|3","A29":"1|2","A30":"1|3","A31":"1|3","A32":"1|3","A33":"1|5","A34":"1|3","A35":"1|3","A36":"1|3","A37":"1|4","A38":"1|4","A39":"1|2","A40":"1|4"}"}
阅读 3.1k
3 个回答

你这是json吗?多了一个'"',最后少了一个'}'

这是后台给你数据格式给错了,校验都通不过,你应该让后台去解决这个问题。

单独拿出"answer"后得到字符串
$str = "{"A1":"0|1","A2":"1|5","A3":"1|4","A4":"1|4","A5":"1|4","A6":"1|3","A7":"1|4","A8":"1|5","A9":"1|3","A10":"1|4","A11":"1|4","A12":"1|2","A13":"1|4","A14":"1|2","A15":"1|3","A16":"1|4","A17":"1|4","A18":"1|3","A19":"1|4","A20":"1|5","A21":"1|2","A22":"1|3","A23":"1|3","A24":"1|5","A25":"1|3","A26":"1|3","A27":"1|4","A28":"1|3","A29":"1|2","A30":"1|3","A31":"1|3","A32":"1|3","A33":"1|5","A34":"1|3","A35":"1|3","A36":"1|3","A37":"1|4","A38":"1|4","A39":"1|2","A40":"1|4"}"
然后使用 rtrim($str, '"'),ltrim($str, '"'),然后在整合,
不过就像楼上说,已经是前台传过来有误了,所以最好是还是前台写好正确规范的json,在传会比较好

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