Theo mặc định, cURL
tự động xuất chuyển giao. Mã của bạn chỉ hiển thị nội dung json, nhưng curl_exec($cURL)
trả về 1 hoặc 0 nếu có gì đó sai chứ không phải nội dung json. Đó là lý do tại sao bạn không thể lấy mảng hoặc đối tượng bạn muốn với json_decode
, chuỗi JSON không có trong $result
biến.
Để có được những gì bạn muốn, bạn cần đặt một tùy chọn cURL khác:
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
Bằng cách này curl_exec($cURL)
sẽ trả lại quá trình chuyển dưới dạng một chuỗi và sẽ không tự động xuất ra nữa.
Xem hướng dẫn sử dụng PHP
về các giá trị trả về của curl_exec
.
Sau đó, bạn chỉ cần sử dụng json_decode
:
foreach (json_decode($result, true) as $book) {
printf("\nISBN: %s\ttitle: %s\tauthor: %s", $book['details']['isbn_10'][0], $book['details']['title'], $book['details']['contributions'][0]);
}