2015-04-12 65 views
1

我有一个JSON字符串的问题。问题与JSON字符串在php

我在邮差发送此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语法是c忌用。 如何解决这个问题?在做之前

感谢

+3

尝试使用'stripslashes($ _ POST ['jsonplaces'])' – Kamran

+0

是的,它的工作,谢谢,发布这个答案PLZ – chathura

回答

3

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

0

也许邮差使用addslashes方法在数据库中输入查询之前逃脱(JSON)字符串,如在评论中提到,你应该使用反函数stripslashes到未转义字符串json_decode函数