这是我的问题:
- 用户在文本输入元素中提供以下字符串(它是Google地图上某个位置的网址):
!https://www.google.com/maps/place/40%C2%B048“45.7%22N + 73%C2%B036'22.2%22W / @ 40.8130626,-73.6039651,15z /数据= 4M2 3M1 1s0x0:!?为0x0 HL = EN
- 我通过jquery获取上面的字符串值以及一些其他文本输入,将其存储在对象中,将值转换为JSON字符串,然后将其发布到服务器以通过ajax进行处理。
- 一旦服务器收到它(我在服务器端使用php),我将获取JSON字符串并将其作为json_decode()的参数提供。 json_decode()返回null,表示它收到的JSON字符串的格式错误。我知道JSON字符串中出现错误的部分是我上面列出的部分,因为如果不包含我的脚本,我的脚本就可以工作了。
我的问题是。如何操作上面的字符串使其与json_decode()一起使用? JSONLint.com告诉我上面的字符串是有效的JSON。我查看了以下帖子,并尝试了建议的解决方案,如utf8_encode()和bin2hex()来清理字符串;但是,json_decode()仍然返回null:
我现在知道有编码问题;但是,关于如何使字符串与json_decode()兼容,我感到很茫然。我不会发布SO,除非我真的遇到问题,所以非常感谢任何帮助。