我目前正在从API请求信息。当我尝试用json_decode()
解码json的响应时,它没有提供正确的数据。当我使用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在数组6中显示... 2,但应显示一个值。我的代码有什么问题?
我希望API正确添加数据并在api中显示数据
答案 0 :(得分:0)
dd()
无法显示太多数据,这限制了保存您的浏览器并保持更高速度的结果。
这是因为dd()
正在使用CSS和JS很好地显示数据,如果要渲染大量数据,您的浏览器最终将无法处理该问题。
如果要查看第一项的结果,则必须添加要查看的确切项目,例如:
$json->product->attributes{0}