主从结构的JSON要怎么分拆

helodd 2015-10-06 10:28:03
$a='{"head":{"id":"4","userno":"12345","username":"CDZ1"},"body":[{"orderno":"1","price":"15.00","qty":"1"},{"orderno":"1","price":"9.00","qty":"1"}]}';

这样的一段jsoin, 我要单独取得head 部分的字段值及body 部份的字段值, 比如取 head 部份的 userno,及 body 部份的 price.
...全文
215 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
q81999008 2015-10-07
  • 打赏
  • 举报
回复
<?php 
@header("Content-type: text/html; charset=utf-8");
$a='{"head":{"id":"4","userno":"12345","username":"CDZ1"},"body":[{"orderno":"1","price":"15.00","qty":"1"},{"orderno":"1","price":"9.00","qty":"1"}]}';
$obj=json_decode($a);
echo 'userno:'.$obj->head->userno;
echo '<br/>price:'.$obj->body[0]->price;

/////或:

echo "<br/><br/><br/>";
$ary=json_decode($a,true);
echo 'userno:'.$ary['head']['userno'];
echo '<br/>price:'.$ary['body'][0]['price'];
?>
xuzuning 2015-10-07
  • 打赏
  • 举报
回复
从这样的数组中都不会取出想要的数据,你的老师该打屁股了
array (
  'head' =>   array (
    'id' => '4',
    'userno' => '12345',
    'username' => 'CDZ1',
  ),
  'body' =>   array (
    0 =>     array (
      'orderno' => '1',
      'price' => '15.00',
      'qty' => '1',
    ),
    1 =>     array (
      'orderno' => '1',
      'price' => '9.00',
      'qty' => '1',
    ),
  ),
)
helodd 2015-10-07
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
你 print_r(json_decode($a, 1)); 看一下,就知道该如何取得各分量了
返回这个, Array ( [head] => Array ( [id] => 4 [userno] => 13538750770 [username] => CDZ1 ) [body] => Array ( [0] => Array ( [orderno] => 1 [price] => 15.00 [qty] => 1 ) [1] => Array ( [orderno] => 1 [foodno] => 3 [price] => 9.00 [qty] => 1 ) ) ) Array ( [0] => orange [1] => banana [2] => apple [3] => raspberry ) 搞不定, 班主帮忙
xuzuning 2015-10-07
  • 打赏
  • 举报
回复
你 print_r(json_decode($a, 1)); 看一下,就知道该如何取得各分量了
Lidisam 2015-10-07
  • 打赏
  • 举报
回复
用json_decode()就可以把json的数据格式转换 然后用数组的形式调用了

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧