【发布时间】:2015-09-29 20:33:58
【问题描述】:
如果这个问题已经得到解答,请原谅我。我已经看到了关于 json 数据和 openlibrary 的各种答案
到目前为止,我从 openlibrary 获得的 json 数据和我在示例中看到的 json 数据似乎在格式上有所不同
我的问题是,如何使用 php(或 javascript)将数据放入数组或单个变量中并将它们放入 mysql 数据库中。
- 对上一个问题的补充 - 我想将下面的原始数据显示为:
标题:书的瓷砖 作者:本书作者 Isbn:Isbn编号 等等
然后将这些细节放入mysql数据库中
[更新 2015-011-07] 现在我已经收到了答案,我已经更新了下面的代码以显示它应该是怎样的。 以下将从 openlibrary 请求 json 数据,并将作为字符串返回。 $url 中的 ISBN 号仅用于测试目的,因此请务必更改它。
<?php
$url ="https://openlibrary.org/api/books?bibkeys=ISBN:0789721813&jscmd=details&format=json";
$headers = array(
"Content-type: application/json;charset=\"utf-8\"",
"Accept: text/xml",
"Cache-Control: no-cache",
"Pragma: no-cache",
"SOAPAction: \"run\""
);
$cURL = curl_init();
curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);
curl_setopt($cURL, CURLOPT_HTTPHEADER, $headers);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($cURL);
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]);
}
curl_close($cURL);
?>
页面加载后显示如下:
ISBN: 0789721813 title: Red Hat Linux author: Hellums, Duane
【问题讨论】:
-
你试过
json_decode($result, true)吗?究竟是什么没有按预期工作? -
您复制的响应有多行;所以这可能是解析不起作用的原因
-
我想要的是从原始数据中获取 isbn、作者发布者等,并将适当的值保存到数据库或屏幕
-
Profligate.fcx,我想这是我做的,我会编辑它并确保它按原样显示
-
Jeff 我试过 Jain_decide 和输出是一样的,我想改变它在页面上的显示方式并最终保存在 mysql 中
标签: javascript php mysql json