Laravel DD API не показывает полный массив - PullRequest
0 голосов
/ 27 мая 2019

Я сейчас нахожусь в процессе запроса информации от API.Когда я пытаюсь декодировать ответ json с помощью json_decode(), это не дает мне правильных данных.Когда я использую var_dump() это делает.Как я могу сделать так, чтобы в моем коде правильно отображались данные API?

Я попытался посмотреть в Интернете.Я использовал var_dump() с успехом, но он не показывает информацию правильно, как с dd().

 $response = curl_exec($curl);
        $err = curl_error($curl);

        curl_close($curl);
        if ($err) {
            echo "cURL Error #:" . $err;
        } else {
            $json = json_decode($response);
        }

Это код, который я использую для доступа к данным API.Это ответ с var_dump ($ json):


Example: array(344) {
  [0]=>
  object(stdClass)#1148 (1) {
    ["product"]=>
    object(stdClass)#1141 (3) {
      ["information"]=>
      object(stdClass)#1140 (1) {
        ["deliveryDays"]=>
        string(2) "10"
      }
      ["attributes"]=>
      array(6) {
        [0]=>
        object(stdClass)#1142 (2) {
          ["attribute"]=>
          string(18) "Type of sunglasses"
          ["value"]=>
          string(5) "basic"
        }
        [1]=>
        object(stdClass)#1143 (2) {
          ["attribute"]=>
          string(15) "variantid (mcp)"
          ["value"]=>
          string(9) "P105675W1"
        }
        [2]=>
        object(stdClass)#1144 (2) {
          ["attribute"]=>
          string(11) "color (mcp)"
          ["value"]=>
          string(17) "Solid Black/White"
        }
        [3]=>
        object(stdClass)#1145 (2) {
          ["attribute"]=>
          string(8) "quantity"
          ["value"]=>
          string(3) "100"
        }
        [4]=>
        object(stdClass)#1146 (2) {
          ["attribute"]=>
          string(16) "printing process"
          ["value"]=>
          string(12) "tampon print"
        }
        [5]=>
        object(stdClass)#1147 (2) {
          ["attribute"]=>
          string(13) "delivery type"
          ["value"]=>
          string(6) "normal"
        }
      }
      ["price"]=>
      float(213.3)
    }
  }

Когда я использую dd($json):


  +"product": {#1150 ▼
      +"information": {#1149 ▶}
      +"attributes": array:6 [▼
        0 => {#1151 …2}
        1 => {#1152 …2}
        2 => {#1153 …2}
        3 => {#1154 …2}
        4 => {#1155 …2}
        5 => {#1156 …2}
      ]
      +"price": 407.7
    }

Как видите, API показывает ... 2 в массиве6, но это должно показать значение.Что плохого в моем коде?

Я хочу, чтобы API правильно отображал данные и отображал данные в API

.

1 Ответ

0 голосов
/ 27 мая 2019

Слишком много данных для отображения для dd(), это ограничивает результаты, чтобы сохранить ваш браузер и поддерживать скорость выше.

Это потому, что dd() использует CSS & JS для корректного отображения данных, если бы большая часть данных отображалась, ваш браузер в конечном итоге не смог бы справиться с этим.

Если вы хотите увидеть результаты первого элемента, вам нужно указать именно тот элемент, который вы хотите просмотреть, например:

$json->product->attributes{0}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...