Parse在PHP中转义了JSON

我是PHP世界的新手,我在PHP中解析JSON时遇到了问题。 我想使用Apache HttpClient 4.xGson使用我的Java客户端将数据发布到PHP脚本。

我的JSON:

 [{"Knt_KntWatchId":"15","type":"INSERT","Knt_Nazwa1":"a"},{...},...] 

我使用HttpClientGson用Java发送它:

  List contacts = ...; HttpPost post = new HttpPost(CONTACTS_SERVICE); List nameValuePairs = new ArrayList(); nameValuePairs.add(new BasicNameValuePair("key", AppConstants.KEY)); nameValuePairs.add(new BasicNameValuePair("data", new Gson().toJson(contacts))); post.setEntity(new UrlEncodedFormEntity(nameValuePairs)); post.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 

在页面上:

 if (isset($_POST['data'])) { $data = $_POST['data']; $json = json_decode($data, true); var_dump($json); var_dump($data); 

我得到的是:

 NULL string(3651) "[{\"Knt_KntWatchId\":\"15\",\"type\":\"INSERT\",\"Knt_Nazwa1\":\"a\"},... 

我怎样才能让它运作起来?

PHP 5.2 – 不能使用json_last_error()

尝试使用stripslashes()

 $string = stripslashes('[{\"Knt_KntWatchId\":\"15\",\"type\":\"INSERT\",\"Knt_Nazwa1\":\"a\"}]'); print_r(json_decode($string)); 

所以我会

 $json = json_decode(stripslashes($data), true);