Рубрики
Uncategorized

PHP использует Curl для передачи данных JSON и отображения JSON (формат Json / объединение API / Http-запрос), возвращенный другой стороной

Автор оригинала: David Wong.

Введение в среду обучения Серверная часть: Ubuntu 18.04 LTS База данных: Mariadb 10.1.34 (Mysql) Языковая версия: PHP 7.3 Локальная версия: macOS High Sierra

function httpRequest($api, $data_string) {

  $ch = curl_init($api);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Content-Type: application/json',
      'Content-Length: ' . strlen($data_string))
  );
  $result = curl_exec($ch);
  curl_close($ch);

  return json_decode($result);
}

Передайте следующие данные в формат JSON и передайте их получателю .

$data = array(
    "id" => $id,
    "field" => $field
);
$data = httpRequest('', json_encode($data));

Когда вы хотите распечатать ключ JSON и значение ответа другой стороны

echo $data->{'message'};

Если другая сторона возвращает массив JSON, используйте foreach для ответа.Вы можете распечатать круг и напечатать столько ручек, сколько другая сторона отправит обратно.

foreach ($data as $value) {
    echo $value['message'];
}

Вы можете использовать sizeof, чтобы видеть длину объекта и легко выносить суждения.

echo sizeof($data); // int

Если его возвращает не ДЖЕЙСОН, то это просто тело. В приведенной выше функции

return json_decode($result);

Изменить на

return $result;

Затем распечатайте его напрямую.

echo $data;

Идентификатор строки:ian mac QQ:1258554508