Json是现在被广泛使用的用于传递字符串的格式,相比xml更显得简单易懂以及更方便操作,php下就俩个函数,json_encode() AND json_deconde()。不过json对中文的支持并不是很好,如果使用json_encode()处理如数组,数组中若存在中文,则会作空白处理。
解决中文的一种方法就是先将中文转换为另一种编码格式,然后再使用json_encode(),最后再用解码把json串进行解码。还有一种方式就在php新版本中得到了解决,在下面的代码为展示。
以下为代码示例
<?php header("Content-type:text/html;charset=utf-8"); $arrayName = array('city' => '广东','goods'=>'cookies' ); $arr = json_encode($arrayName); echo $arr."</br>"; var_dump(json_decode($arr)); echo "</br>"; echo urldecode(json_encode(ch_json($arrayName)))."</br>"; /* 需要php版本在5.4以上 echo json_encode($arrayName,JSON_UNESCAPED_UNICODE); */ function ch_json($arr){ if(is_array($arr)){ foreach ($arr as $key => $value) { $arr[urlencode($key)] = ch_json($value); } }else{ return urlencode($arr); } return $arr; } ?>
PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》