我有这个从ebay api获得的json文件,我试图回应它。 如何达到特定值,例如title,galleryURL,viewItemURL等。
这就是我尝试并收到错误的方法
<?php
$json = file_get_contents('ebay api url');
$obj = json_decode($json);
echo $obj-> item[0]->title;
?>
我放置了项目[0],因为我通常会在json中收到一堆项目 这是json文件
{ “findItemsIneBayStoresResponse”:[{ “ACK”:[ “成功”], “版本”:[ “1.13.0”], “时间戳”:[ “2015-03-03T22:06:11.764Z”] , “信息搜索结果”:[{ “@计”: “1”, “项目”:[{ “的itemId”: “121579650061”], “称号”:“麦考尔的 9119 18 \“娃娃图案卡车箱和配件携带箱娃娃箱 “],” globalId “:[” EBAY-US “],” primaryCategory “:[{” 的categoryId “:[” 38057 “],” 类别名称 “:[” 娃娃, 玩具, 动物 “]}],” GALLERYURL “:[” http://thumbs2.ebaystatic.com/m/mBpbx-hUvsUvTKYMVasM8xA/140.jpg “],” viewItemURL “:[” http://www.ebay.com/ ITM / McCalls-9119-18-娃娃PatternCarry-病例和附件进位病例娃娃Trunk- / 121579650061 PT = LH_DefaultDomain_0 “],” PAYMENTMETHOD? “:[” 贝 “],” 自动转账“:[ “假”], “POSTALCODE”: “85260”], “位置”: “亚利桑那州斯科茨代尔,美国”], “国家”: “US”], “storeInfo”:[{ “STORENAME”: “缝 可爱 图案 “],” storeURL “:[” http://stores.ebay.com/Sew-Lovely-Patterns “]}],” shippingInfo “:[{” shippingServiceCost “:[{” @currencyId “:” USD” “的值”: “0.0”}], “shippingType”:[ “FlatDomesticCalculatedInternational”], “shipToLocations”:[ “全球”], “expeditedShipping”:[ “假”],“oneDayShippingAvailable “:[” 假 “],” handlingTime “:[” 1 “]}],” sellingStatus “:[{” currentPrice “:[{” @ currencyId “:” USD “” 的值 “:” 21.99 “}],” convertedCurrentPrice “:[{” @ currencyId “:” USD”, “的值”: “21.99”}], “sellingState”:[ “活动”], “的timeleft”:[ “P22DT22H41M24S”]}], “listingInfo”:[{ “bestOfferEnabled”:[ “假”], “buyItNowAvailable”:[ “假”], “开始时间”:[“2015-02-24T20: 42:35.000Z “],” 结束时间 “:[” 2015-03-26T20:47:35.000Z “],” listingType “:[” StoreInventory “],” 礼品 “:[” 假 “]}],” returnsAccepted “:[” 真 “],” galleryPlusPictureURL “:[” http://galleryplus.ebayimg.com/ws/web/121579650061_1_0_1.jpg “],” 状态 “:[{” conditionId “:[” 1000" ], “conditionDisplayName”: “新”]}], “isMultiVariationListing”: “假”],” topRatedListing “:[” 假 “]}]}],” paginationOutput “:[{” PAGENUMBER “:[” 1 “],” entriesPerPage “:[” 1 “],” 总页数 “:[” 117 “],”为totalEntries “:[” 117 “]}],” itemSearchURL “:[” http://stores.ebay.com/Sew-Lovely-Patterns/_i.html?_saslop=1&_fss=1&LH_SpecificSeller=1&_ddo = 1&安培; _exmaitems = 1&安培; _ipg = 1&安培; _mPrRngCbx = 1&安培; _OS = ST%7CD&安培; _pgn = 1&安培; _sid = 181133160&安培; _ssn = sewlovelypatterns&安培; _udlo = 11" ]}]}
答案 0 :(得分:2)
您只需要对JSON进行一些分析。只需将其写入文件(例如response.json
)并执行以下JSON。
cat response.json | python -mjson.tool
现在您可以在JSON中观察完整的层次结构。使用以下内容将其转换为PHP Associative Array
。
$obj = json_decode($json, true); // note the 'true'
完成后,您可以轻松地通过索引访问: 例如要获得标题,您需要以下访问权限
$obj["findItemsIneBayStoresResponse"][0]["searchResult"][0]["title"]
这是我通过漂亮打印JSON得出的结果。我建议你参考eBay API,了解它如何构建响应JSON的层次结构。如果您不知道如何阅读关联数组,请阅读[PHP Arrays Documentation]中的一些示例。(http://php.net/manual/en/language.types.array.php)。