php 的json_encode能把数组转换为json格式的字符串。字符串没有缩进,中文会转为unicode编码,例如\u975a\u4ed4。人阅读比较困难。现在这个方法在json_encode的基础上再进行一次美化处理。使人能方便阅读内容。
1. 使用 json_encode 输出
1 true, 7 'errMsg' => '', 8 'member' =>array( 9 array(10 'name' => '李逍遥',11 'gender' => '男'12 ),13 array(14 'name' => '赵灵儿',15 'gender' => '女'16 )17 )18 );19 20 echo json_encode($arr);21 22 ?>
输出结果为:
{"status":true,"errMsg":"","member":[{"name":"\u674e\u900d\u9065","gender":"\u7537"},{"name":"\u8d75\u7075\u513f","gender":"\u5973"}]}
2. 使用 jsonFormat 输出
1 true,74 'errMsg' => '',75 'member' =>array(76 array(77 'name' => '李逍遥',78 'gender' => '男'79 ),80 array(81 'name' => '赵灵儿',82 'gender' => '女'83 )84 )85 );86 87 echo jsonFormat($arr);88 89 ?>
输出结果为:
{ "status":true, "errMsg":"", "member":[ { "name":"李逍遥", "gender":"男" }, { "name":"赵灵儿", "gender":"女" } ]}
3.php5.4 以后,json_encode增加了JSON_UNESCAPED_UNICODE , JSON_PRETTY_PRINT 等几个常量参数。使显示中文与格式化更方便。
1 header('content-type:application/json;charset=utf8'); 2 3 $arr = array( 4 'status' => true, 5 'errMsg' => '', 6 'member' =>array( 7 array( 8 'name' => '李逍遥', 9 'gender' => '男' 10 ), 11 array( 12 'name' => '赵灵儿', 13 'gender' => '女' 14 ) 15 ) 16 ); 17 18 echo json_encode($arr, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
输出结果为:
{ "status": true, "errMsg": "", "member": [ { "name": "李逍遥", "gender": "男" }, { "name": "赵灵儿", "gender": "女" } ]}