从UPCitemdb API

时间:2017-04-14 14:31:56

标签: php json

我正在尝试只有一个名为title的属性 - 值对。

这是来自网站的示例代码,它返回整个JSON数据。如何让它只返回标题,然后将其存储为php中的字符串变量?

 <<?php
$user_key = 'only_for_dev_or_pro';
$endpoint = 'https://api.upcitemdb.com/prod/trial/lookup';

$ch = curl_init();

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(

));

// HTTP GET
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_URL, $endpoint.'?upc=4002293401102');
$response = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpcode != 200)
  echo "error status $httpcode...\n";
else 
  echo $response."\n";
/* if you need to run more queries, do them in the same connection.
* use rawurlencode() instead of URLEncode(), if you set search string
 * as url query param
 */
sleep(2);
// proceed with other queries
curl_close($ch);

JSON:

  

HTTP / 1.1 200 OK服务器:openresty / 1。9。7。4日期:2017年4月14日星期五14:33:27 GMT内容类型:application / json; charset = utf-8内容长度:2986连接:keep-alive X-Powered-By:Express X-RateLimit-Limit:100 X-RateLimit-Reset:1492263082 X-RateLimit-Remaining:87 ETag:W /&#34 ; BAA-nUP5zq4A0eSpWOkpnkUZVg&#34;变化:接受 - 编码访问控制 - 允许 - 来源:http://www.upcitemdb.com访问控制 - 允许 - 方法:GET,POST,选项访问控制允许标题:内容类型,接受访问控制 - 暴露 - 标题:内容类型,X-RateLimit-Remaining,X-RateLimit-Limit,X-RateLimit-Reset,total,offset {&#34; code&#34;:&#34; OK&#34;,&#34;总&#34;:1,&#34;偏移&#34;:0,&#34;项目&#34;:[{&#34; EAN&#34;:&#34; 4002293401102&#34;&#34标题&#34;:&#34; Wusthof Gourmet 3英寸锯齿削皮刀&#34;,&#34;描述&#34;:&#34; Wusthof Gourmet冲压刀非常适合新厨师或用于第二个家。这些超值的刀具非常锋利。由于采用了高碳不锈钢,它们的锋利边缘持久耐用。三铆接手柄非常耐用。只能手洗。 Wusthof的终身保修,正常使用和适当的护理。德国索林根制造。&#34;,&#34;品牌&#34;:&#34; W?sthof&#34;&#34;型号&#34;:&#34; 4011-7&#34;, &#34;颜色&#34;:&#34;多&#34;&#34;大小&#34;:&#34;&#34;&#34;尺寸&#34;:&#34; 8 X 1X 1英寸&#34;,&#34;重量&#34;:&#34; 0.1磅&#34;,&#34;货币&#34;:&#34;&#34;,&#34; lowest_recorded_price& #34;:12.99&#34;图像&#34;:[&#34; http://www.chefscatalog.com/img/products/500x500/99528_500.jpg&#34;&#34; http://img1.r10.io/PIC/84707643/0/1/250/84707643.jpg&#34;&#34; {{ 3}}&#34;&#34; http://c.shld.net/rpx/i/s/pi/mp/33108/2456981411?src=http%3A%2F%2Fwww.chefscatalog.com%2Fimg%2Fproducts%2F1000x1000%2F99528_1000.jpg&d=8ba15ee3bfc8785ae78e62c3c0762bcb86214ed4&#34;&#34; http://images10.newegg.com/ProductImageCompressAll200/A0NV_1_20120523_5340513.jpg&#34],&#34;报价&#34;:[{&# 34;商家&#34;:&#34; MetroKitchen&#34;&#34;结构域&#34;:&#34; metrokitchen.com&#34;&#34;标题&#34;:&#34;三叉牌美食3英寸锯齿削皮刀&#34;,&#34;货币&#34;:&#34;&#34;,&#34; list_price&#34;:&#34;&#34;,&#34;价格&#34;:19.95,&#34;航运&#34;:&#34;&#34;&#34;条件&#34;:&#34;新&#34;&#34;可用性&#34 ;:&#34;&#34;&#34;连结&#34;:&#34; http://images.prosperentcdn.com/images/250x250/cdn.metrokitchen.com/images/uploads/wu-4011-zoomed.jpg&#34;&#34; updated_t&#34;:1466567204},#34 {& ;商家&#34;:&#34; Newegg.com&#34;&#34;结构域&#34;:&#34; newegg.com&#34;&#34;标题&#34;:&#34; Wusthof Gourmet - 3 \&#34; Serrated Utility Knife&#34;,&#34; currency&#34;:&#34;&#34;,&#34; list_price&#34;:&#34;&#34;,&#34; price&#34 ;:15.95&#34;航运&#34;:&#34; 5.95&#34;&#34;条件&#34;:&#34;新&#34;&#34;可用性&#34 ;: &#34;&#34;&#34;连结&#34;:&#34; http://www.upcitemdb.com/norob/alink/?id=y2x203y2x26384&tid=1&seq=1492180407&plt=8e28d8273c644252688700da99d3ae40&#34;&#34; updated_t&#34;:1481154945},{&#34;商家#34;:&#34; Sears&#34;,&#34;域&#34;:&#34; sears.com&#34;,&#34; title&#34;:&#34; Wusthof Gourmet 3-在。 Serrated Paring Knife&#34;,&#34; currency&#34;:&#34;&#34;,&#34; list_price&#34;:&#34;&#34;,&#34; price&#34 ;:19.95&#34;航运&#34;:&#34;&#34;&#34;条件&#34;:&#34;新&#34;&#34;可用性&#34;:& #34;&#34;&#34;连结&#34;:&#34; http://www.upcitemdb.com/norob/alink/?id=v2t2z2u2v2x2c4a4&tid=1&seq=1492180407&plt=353d82b7403f611d0a99d3a14c1aeba2&#34;&#34; updated_t&#34;:1425619323},{&#34;商家# 34;:&#34;乐天(Buy.com)&#34;&#34;结构域&#34;:&#34; rakuten.com&#34;&#34;标题&#34;:&#34 ; Wusthof Gourmet - 3 Serrated Utility Knife&#34;,&#34; currency&#34;:&#34;&#34;,&#34; list_price&#34;:&#34;&#34;,&# 34;价格&#34;:19.95,&#34;航运&#34;:&#34; 8.95&#34;&#34;条件&#34;:&#34;新&#34;&#34;可用性&#34;:&#34;&#34;&#34;连结&#34;:&#34; http://www.upcitemdb.com/norob/alink/?id=u2p2631343x2a4d4x2&tid=1&seq=1492180407&plt=47ce957e7b574db04285b40e11ed5816&#34;&#34; updated_t&#34;:1476903025},{ &#34;商家&#34;:&#34;厨师目录&#34;,&#34;域&#34;:&#34; chefscatalog.com&#34;,&#34; title&#34;:&# 34; Wusthof Gourmet 3-in。锯齿削皮刀 - Wusthof Gourmet&#34;,&#34;货币&#34;:&#34;&#34;,&#34; list_price&#34;:26,&#34;价格&#34;:15.95, &#34;运输&#34;:&#34;免费送货&#34;,&#34;条件&#34;:&#34;新&#34;,&#34;可用性&#34;:&#34; &#34;&#34;连结&#34;:&#34; http://www.upcitemdb.com/norob/alink/?id=w2v233w21303c444&tid=1&seq=1492180407&plt=57e9f7ffdcf388e9c3c4e81403c0ddc9&#34;&#34; updated_t&#34;:1448989675}],&#34; ASIN&#34 ;: &#34; B0000DJYE3&#34;&#34; ELID&#34;:&#34; 192088094351&#34;}]}

2 个答案:

答案 0 :(得分:2)

试试这个,您应该使用boot.o来防止在curl响应中返回标头。

curl_setopt($ch, CURLOPT_HEADER, false);

答案 1 :(得分:1)

您正在寻找json_decode

json_decode创建一个带有json字符串的对象

$ obj = json_decode($ response);

$ example = $ obj-&gt; yourAttribute;

foreach($ obj-&gt;项目为$ item)    $ title = $ item-&gt; title;