PHP json_decode 错误 - Mandrill Webhook

标签 php arrays json mandrill

我正在尝试处理 Mandrills webhook 数据。 我将收到带有一些 Json 数据的 $_POST 请求,在处理这些数据时我遇到了一个奇怪的问题。

如果我解码 POST 给出的数据,我只会得到一个空的 var :( 知道为什么吗?

编辑:

有史以来最奇怪的事情......如果我直接使用 Json,它就不起作用,但是如果我将它插入数据库并从那里取出它,它就可以完美工作

$json = $_POST['mandrill_events'];
print_r(json_decode($json,true));
//False

$data['content'] = $_POST['mandrill_events'];
$id = $db->insert('mail', $data);
$get = $db->select('content', 'mail', 'id = "'.(int) $id.'"');  //= mysql_fetch_array($data,MYSQL_ASSOC)
$json = $get['content'];
print_r(json_decode($json,true));
//True

旧代码

/*
print_r($_POST) 

Array
(
    [mandrill_events] => [{"event":"inbound","ts":1393490345,"msg":{"raw_msg":"Received: from"}}]
    (shortend)
)
*/

$test_var = '[{"event":"inbound","ts":1393490345,"msg":{"raw_msg":"Received: from"}}]';

$getMessage = $_POST['mandrill_events'];
print_r($getMessage);
//Until now everything works fantastic
$getMessage = json_decode($getMessage,true);
print_r($getMessage);
//Nothing - the output is empty ;( 

$getTestMessage = json_decode($test_var,true);
print_r($getTestMessage);
//works fine

最佳答案

使用斜杠。 对于您的情况:

$json = $_POST['mandrill_events'];
print_r(json_decode(stripslashes($json),true));

关于PHP json_decode 错误 - Mandrill Webhook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22065298/

相关文章:

php - 从 PHP 更改 SQL 查询

json - Erlang JSON 库 : serialization performance?

c# - 获取 JSON 子元素值

javascript - 执行完前面的代码后,如何在 JavaScript 函数中调用另一个 JavaScript 函数?

c# - 如何让所有IP地址远程连接mysql

java - 在数组中生成随机数,将它们相加并将答案存储在数组中

ruby - 如何在 Ruby 中合并哈希数组的内容(键和内容)

java - 找不到符号二维数组返回问题

android - ListView 只显示在第二个 Activity 的最后一行

php - 我们如何通过Javascript验证textarea中的行数