从Wordpress中的wp_remote_get访问JSON
问题描述:
我试图使用wp_remote_get访问从此Google books API请求返回的json,但它不输出数据。谁能告诉我问题是什么?从Wordpress中的wp_remote_get访问JSON
$request = wp_remote_get('https://books.google.com/books?bibkeys=9780001955073%2C%209780001982116%2C%209780001981768&jscmd=viewapi&callback=listisbns');
$body = wp_remote_retrieve_body($request);
$data = json_decode($body);
foreach($data as $book) {
echo $book->info_url;
}
答
如果你是通过回调函数listisbns
使用JavaScript,在PHP中使用返回的结果你得收拾返回的字符串这将是确定的:
$body = wp_remote_retrieve_body($request);
# clean start removing "listisbns("
$body = str_replace('listisbns(', '', $body);
# clean end removing last two characters: ");"
$body = substr($body, 0, strlen($body) - 2);
# data ok to proceed
$data = json_decode($body);