晓峰 Rotating Header Image

Posts under ‘json’

json_encode中的编码问题

前段时间想把数据格式转化成json格式,以便于前端处理,php中恰好有个函数可以将各种类型的数据转成json,json_encode,用法如下 <?php header(‘Content-Type: application/json; charset=utf-8′); $obj; $obj -> id = 1234; $obj -> name = ‘mtalk’; echo json_encode($obj); ?> 会格式成: {“id”:1234,”name”:”mtalk”} 当字符串包含utf8中文字符时,json_encode会把中文字符转成unicode字符串,例如: json_encode(‘要’); 会格式化成: (1).”\u8981″ 而不是: (2).”要” 而经过javascript读取之后还是会在页面显示为(2)。 起初还一直以为是LAMP的那个部分的字符集出了问题,经查证,json_encode本意如此,再说经过javascript处理就不会有页面显示的问题,而且json字符串不会因为不同的字符集同时出现时出错,所以也是有一定的道理的。好了,废话不多说,点到为止。

满足json字符串的条件

Boolean: ‘true’,’false’ Array: ‘["a","b","c"]‘ String: ’1234′,’1e5′ Object: ‘{“prop1″:”yufeng”,”prop2″:null,”prop3″:{},”prop5″:true}’ 作者:虞峰