我有兩種方式json結果。這兩個json輸出有什麼區別?
第一個是我的外部API的輸出:
{"result":"success","totalresults":1,"products":{"product":[{"pid":"1","gid":"1","type":"hostingaccount","name":"product1","description":"product description","module":"directadmin","paytype":"recurring","pricing":{"usd":{"prefix":"","suffix":"USD","msetupfee":"0.00","qsetupfee":"0.00","ssetupfee":"0.00","asetupfee":"0.00","bsetupfee":"0.00","tsetupfee":"0.00","monthly":"-1.00","quarterly":"-1.00","semiannually":"-1.00","annually":"199000.00","biennially":"-1.00","triennially":"-1.00"}},"customfields":{"customfield":[]},"configoptions":{"configoption":[]}}]}}
和第二個是我的內部API的輸出:在第一個我可以在這種情況下打印例如價格參數
Array
(
[result] => success
[totalresults] => 1
[products] => Array
(
[product] => Array
(
[0] => Array
(
[pid] => 1
[gid] => 1
[type] => hostingaccount
[name] => product1
[description] => <div class="title col-xs-12">Plan BL2</div>
<div class="disk item col-xs-12">5 GB</div>
<div class="bandwidth item col-xs-12">50 GB</div>
<div class="database item col-xs-12">4</div>
<div class="parkdomain item col-xs-12">10</div>
<div class="adddomain item col-xs-12"><i class="icon icon-cancel"></i></div>
<div class="support item col-xs-12"><i class="icon icon-ok"></i></div>
[module] => directadmin
[paytype] => recurring
[pricing] => Array
(
[USD] => Array
(
[prefix] =>
[suffix] => USD
[msetupfee] => 0.00
[qsetupfee] => 0.00
[ssetupfee] => 0.00
[asetupfee] => 0.00
[bsetupfee] => 0.00
[tsetupfee] => 0.00
[monthly] => -1.00
[quarterly] => -1.00
[semiannually] => -1.00
[annually] => 199000.00
[biennially] => -1.00
[triennially] => -1.00
)
)
[customfields] => Array
(
[customfield] => Array
(
)
)
[configoptions] => Array
(
[configoption] => Array
(
)
)
)
)
)
)
通過此代碼:
$url = 'internal api url';
$obj = json_decode(file_get_contents($url), true);
$array = [];
foreach($obj['products'] as $value){
$array[$value[0]['pid']] = $value[0];
}
echo "<div class="price item col-xs-12">'.(int)$array[$atts['aprice']]['pricing']['USD']['annually'].' USD</div>";
但在第二個不成功。 有幫助嗎?
第一個json中的根元素是對象,在第二個數組中。只是一個想法。 –
首先是一個JSON字符串。其次是一個PHP數組。 – RiggsFolly
這裏可能有一個有效的問題(如果php有任何代碼來讀取JSON或PHP,可能會重複),但絕對不會涉及標題中的問題。請考慮[編輯]發佈,以澄清你真正想要什麼(或標記刪除)。 –