php中的JSON字符串问题

时间:2015-04-12 11:00:37

标签: php json

我遇到了json字符串的问题。

我在Postman发送这个json字符串,

{
 "places": [
       {
         "longitude": "79.9304633",
         "latitude": "6.720229199999999",
         "city": "Panadura"
       },
       {
         "longitude": "79.86296829999999",
         "latitude": "6.855948499999999",
         "city": "Dehiwala"
       }
  ]
} 

但在服务器端,当我使用此值获取此值时,

$jsonPlaces = $_POST['jsonplaces'];

并且$ jsonPlaces的值看起来像这样,

{\\\"places\\\":[{\\\"longitude\\\":\\\"79.9304633\\\",\\\"latitude\\\":\\\"6.720229199999999\\\",\\\"city\\\":\\\"Panadura\\\"},{\\\"longitude\\\":\\\"79.86296829999999\\\",\\\"latitude\\\":\\\"6.855948499999999\\\",\\\"city\\\":\\\"Dehiwala\\\"}]}

因此json_encode()函数不适用于上面的字符串,因为json语法已更改。 如何解决这个问题?

由于

2 个答案:

答案 0 :(得分:3)

使用stripslashes($_POST['jsonplaces'])删除其他斜杠。

答案 1 :(得分:0)

可能Postman使用addslashes方法在DB中输入它之前转义(JSON)字符串,如注释中所述,你应该使用反函数stripslashes来解除之前的字符串执行json_decode功能