使用PHP从Slack接收 POST数据并将其存储在WordPress中。
JSON字符串作为数组的值:$_POST["payload"]
。
json_decode
给出错误4(语法错误)
我要删除这样的不可见字符:
for ($i = 0; $i <= 31; ++$i) {
$payload = str_replace(chr($i), "", $payload);
}
$payload = str_replace(chr(127), "", $payload);
if (0 === strpos(bin2hex($payload), 'efbbbf')) {
$payload = substr($payload, 3);
}
当我转储字符串时,将其手动复制到一个变量中,它将被解析:
$HELL = '{
"type":"message_action",
"token":"ijijijiji",
"action_ts":"vvvvv",
[etc]
';
$json = json_decode($HELL, TRUE);
var_dump($json);
我无法捕获实际的字符串并以任何方式对其进行解析。
解析:
$json = json_decode($payload, true);
ob_start();
var_dump($json);
$jsnd = ob_get_clean();
ob_start();
var_dump($payload);
$dump = ob_get_clean();
update_post_meta( 133, 'blood_json', $jsnd );
update_post_meta( 133, 'blood_dump', $dump );
在这里,转储将始终提供字符串,而JSON将始终提供NULL。
string(695) "{"type":"message_action","token": ..."
可能是什么问题?