当前位置: 代码迷 >> PHP >> json有关问题请问
  详细解决方案

json有关问题请问

热度:207   发布时间:2013-07-04 11:45:32.0
json问题请教
php使用json_encode可否实现以下格式的输出,如果可以,能否发个例子?非常感谢!

1条结果返回:{"result":[{"userid":001,"username":"李明"}]}

2条果结返回:{"result":[{"userid":001,"username":"张飞"},{"userid":002,"username":"张强"}]}

------解决方案--------------------
$data = array();
$data['result'] = array();
// 任意条
$data['result'][] = array('userid' => '001', 'username': '李明');

JSON中,[]表示是一个数组,它的特点是没有键名,通常用来代表一个包含多组对象的值。{}表示是一个对象,它的特点是键值对应。
------解决方案--------------------
$a = array(
  'result' => array(
    array( 'userid' => '001', 'username' => '李明'),
  ),
);

array_walk_recursive($a, 'encode');
echo urldecode(json_encode($a));

$a = array(
  'result' => array(
    array( 'userid' => '001', 'username' => '张飞'),
    array( 'userid' => '001', 'username' => '张飞'),
  ),
);

array_walk_recursive($a, 'encode');
echo urldecode(json_encode($a));


function encode(&$item, $key) {
  $item = urlencode($item);
}
{"result":[{"userid":"001","username":"李明"}]}

{"result":[{"userid":"001","username":"张飞"},{"userid":"001","username":"张飞"}]}
  相关解决方案