簡體   English   中英

如何從關鍵 mtached 的 json 獲取值

[英]how to get value from json where key mtached

我正在研究 Flipkart 新產品 api,實際上我使用數組位置從 api 獲得了所有值,但如果鍵值為 true,我想獲得值。

{"productBaseInfoV1":{"productId":"MOBDQAYCV9JTWHGG","title":"Videocon Dost V1615","productDescription":"","imageUrls":{"400x400":"http://img.fkcdn.com/image/mobile/h/g/g/videocon-dost-v1615-400x400-imadqb7k6hzdgyd8.jpeg","200x200":"http://img.fkcdn.com/image/mobile/h/g/g/videocon-dost-v1615-200x200-imadqb7k6hzdgyd8.jpeg","unknown":"http://img.fkcdn.com/image/mobile/h/g/g/videocon-dost-v1615-original-imadqb7k6hzdgyd8.jpeg","800x800":"http://img.fkcdn.com/image/mobile/h/g/g/videocon-dost-v1615-800x800-imadqb7k6hzdgyd8.jpeg"},"productFamily":null,"maximumRetailPrice":{"amount":0.0,"currency":"INR"},"flipkartSellingPrice":{"amount":0.0,"currency":"INR"},"flipkartSpecialPrice":{"amount":0.0,"currency":"INR"},"productUrl":"http://dl.flipkart.com/dl/videocon-dost-v1615/p/itmegtdatuc7w9tz?pid=MOBDQAYCV9JTWHGG&affid=infoadspl","productBrand":"Videocon","inStock":false,"codAvailable":true,"discountPercentage":0.0,"offers":[],"categoryPath":"[[{\"node_id\":20001,\"node_name\":\"FLIPKART_TREE\"},{\"node_id\":20143,\"node_name\":\"Mobiles\"},{\"node_id\":20144,\"node_name\":\"Handsets\"}]]","styleCode":null,"attributes":{"size":"","color":"Silver","storage":"","sizeUnit":"","displaySize":""}},"productShippingInfoV1":{"shippingCharges":{"amount":0.0,"currency":"INR"},"estimatedDeliveryTime":null,"sellerName":null,"sellerAverageRating":null,"sellerNoOfRatings":0,"sellerNoOfReviews":0},"categorySpecificInfoV1":{"keySpecs":["Primary Camera: 1.3 megapixel","Sim Type: Dual Sim"],"detailedSpecs":[],"specificationList":[{"key":"GENERAL FEATURES","values":[{"key":"In the Box","value":["Mobile handset, Battery, Warranty card, Charger, Handsfree, USB Cable, User Manual"]},{"key":"Brand","value":["Videocon"]},{"key":"Model Name","value":["Dost V1615"]},{"key":"SIM Size","value":["Full Size SIM"]},{"key":"SIM Type","value":["Dual Sim"]},{"key":"Touch Screen","value":["No"]},{"key":"Handset Color","value":["Silver"]}]},{"key":"Display","values":[{"key":"Size","value":["3.5 inch"]},{"key":"Resolution","value":["QVGA, 320 x 240 Pixels"]}]},{"key":"Camera","values":[{"key":"Rear Camera","value":["Yes, 1.3 MP"]}]},{"key":"Battery","values":[{"key":"Type","value":["Li-Ion, 1800 mAh"]}]},{"key":"Memory and Storage","values":[{"key":"Expandable Memory","value":["microSD, upto 16 GB"]}]},{"key":"Internet & Connectivity","values":[{"key":"USB Connectivity","value":["Yes"]},{"key":"Audio Jack","value":["3.5 mm"]}]},{"key":"Warranty","values":[{"key":"Warranty Summary","value":["1 Year Standard Manufacturer Warranty for Mobile Handsets and 6 Months for in-box Accessories"]},{"key":"Warranty Service Type","value":["Customer needs to call/visit nearest Service centre since product comes with 1 Year Manufacturer warranty"]}]}],"booksInfo":{"language":null,"binding":null,"pages":null,"publisher":null,"year":0,"authors":[]},"lifeStyleInfo":{"sleeve":null,"neck":null,"idealFor":null}}}

這里是參考演示http://myperfectprice.com/flipkart.json

這是我的代碼

<?php
$url='http://myperfectprice.com/flipkart.json';
$decode=file_get_contents($url);        
$product = json_decode($decode,true);
$keySpecs = $product['categorySpecificInfoV1']['keySpecs'][0];
$Brand = $product['categorySpecificInfoV1']['specificationList'][0] ['values'][1]['value'][0];
$model = $product['categorySpecificInfoV1']['specificationList'][0]['values'][2]['value'][0];
$sim_size = $product['categorySpecificInfoV1']['specificationList'][0]['values'][3]['value'][0];
$sim_type = $product['categorySpecificInfoV1']['specificationList'][0]['values'][4]['value'][0];

?>
keySpecs=<?=$keySpecs; ?><br />
Brand=<?=$Brand; ?><br />
Model=<?=$model; ?><br />
Sim_size=<?=$sim_size; ?><br />

使用in_array()在數組中查找"GENERAL FEATURES"並在單獨的數組中分配specificationList (如果存在)...

<?php
$url='http://myperfectprice.com/flipkart.json';
$decode=file_get_contents($url);        
$product = json_decode($decode,true);
if(in_array('GENERAL FEATURES',$product['categorySpecificInfoV1']['specificationList'][0]))
{
    $specificationList = $product['categorySpecificInfoV1']['specificationList'];
}
echo "<pre>"; print_r($specificationList);
?>

我不太明白這個問題,也許這樣的事情會奏效?

if ( $product['categorySpecificInfoV1']['specificationList']['key'] == 'GENERAL FEATURES'){
    //get the specificationList
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM