Как отличить JSON от $_POST

244
24 января 2018, 16:11

Как отличить JSON запрос от POST(тот который $_POST['Значение']) ? Например если приходит JSON то делать одно действие, а если пост то делать с ним другое.

Answer 1

Смотря что Вы конкретно хотите, если Вы принимаете на сервер JSON запрос, например через curl, то так

if (isset($_POST)) {
// прилетел пост
    if (isJson($_POST['Значение'])) {
       // а может прилетел json в посте
    }
} elseif ($json_str = file_get_contents('php://input')) {
    // возможно прилетел json
    if (isJson($json_str)) {
       // точно прилетел json
    }
}
function isJson($string) {
     json_decode($string, true);
     return json_last_error() == JSON_ERROR_NONE;
    }
Answer 2

в посте обычно есть { и ]

можно попробовать декодировать его в жсон, и потом уже проверить - но я думаю лучше в момент создания запроса уже определить это - в параметре

READ ALSO
автоподписка в группу вк

автоподписка в группу вк

Доброго времениОбъясните принцип действий по реализации кода по автоподписке на группу

195
как вывести изображение записи wordpress?

как вывести изображение записи wordpress?

как вывести изображение записи wordpress, без цикла?

182
Трансляция видео в реальном времени с записью

Трансляция видео в реальном времени с записью

Задача состоит в том, чтобы передавать потоковое видео на сервер, который будет эти потоки писать на жёсткий диск и параллельно, по запросу,...

208