日期:2014-05-17  浏览次数:20514 次

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":"张飞"}]}