マスタースレーブ構造のJSONを分割する方法
$a='{"head":{"id":"4","userno":"12345","username":"CDZ1"},"本文" :[{"注文番号":"1","価格":"15.00","数量":"1"},{"注文番号":"1","価格":"9.00","数量" :" 1"}]}';
このような jsoin の場合、ヘッド部分のフィールド値とボディ部分のフィールド値を別々に取得したいとします。たとえば、ユーザー番号を取得します。ヘッド部分の価格とボディ部分の価格
-----ソリューションのアイデア----------------------
そのような配列からは、必要なデータを取り出すことはできません。教師があなたを叩く時が来ました
array (<br /> 'head' => array (<br /> 'id' => '4',<br /> 'userno' => '12345',<br /> 'username' => 'CDZ1',<br /> ),<br /> 'body' => array (<br /> 0 => array (<br /> 'orderno' => '1',<br /> 'price' => '15.00',<br /> 'qty' => '1',<br /> ),<br /> 1 => array (<br /> 'orderno' => '1',<br /> 'price' => '9.00',<br /> 'qty' => '1',<br /> ),<br /> ),<br />)
<?php <br />@header("Content-type: text/html; charset=utf-8");<br />$a='{"head":{"id":"4","userno":"12345","username":"CDZ1"},"body":[{"orderno":"1","price":"15.00","qty":"1"},{"orderno":"1","price":"9.00","qty":"1"}]}';<br />$obj=json_decode($a);<br />echo 'userno:'.$obj->head->userno;<br />echo '<br/>price:'.$obj->body[0]->price;<br /><br />/////或:<br /><br />echo "<br/><br/><br/>";<br />$ary=json_decode($a,true);<br />echo 'userno:'.$ary['head']['userno'];<br />echo '<br/>price:'.$ary['body'][0]['price'];<br />?>