zoukankan      html  css  js  c++  java
  • json_encode() 避免转换中文

    json_encode() 避免转换中文

    我们都知道,json_encode()可以将数据转换为json格式,而且只针对utf8编码的数据有效,而且在转换中文的时候,将中文转换成不可读的”u***”的格式,但是某些情况下是中文是不能转换成这样的,比如在微信公众号创建自定义菜单的时候,传递的json数据中,如果有中文,必须是形如这种的:

     1         {
     2             "name": "扫码", 
     3             "sub_button": [
     4                 {
     5                     "type": "scancode_waitmsg", 
     6                     "name": "扫码带提示", 
     7                     "key": "rselfmenu_0_0", 
     8                     "sub_button": [ ]
     9                 }, 
    10                 {
    11                     "type": "scancode_push", 
    12                     "name": "扫码推事件", 
    13                     "key": "rselfmenu_0_1", 
    14                     "sub_button": [ ]
    15                 }
    16             ]
    17         }, 

    那么,遇到这种情况的时候,该怎么办呢,也不难,json_encode()函数第二个参数在PHP5.4中增加了一个选项,叫做:JSON_UNESCAPED_UNICODE,故名思议, 就是说, Json不要编码Unicode.

     1 $postArr = array(
     2     'button'=>array(
     3         array(
     4             //一级菜单
     5             'name'=>'百度',
     6             'type'=>'view',
     7             'url'=>'https://www.baidu.com/'
     8         ),
     9     )
    10 );
    11 $postJson = urldecode(json_encode( $postArr,JSON_UNESCAPED_UNICODE));
    12 var_dump($postJson);
    13 die;

    结果为:

    {
      "button":[
        {
          "name":"百度",
          "type":"view",
          "url":"https://www.baidu.com/"
        }
      ]
    }

    参考链接:让Json更懂中文(JSON_UNESCAPED_UNICODE)

    多学、 多记、 多练、
  • 相关阅读:
    Hanoi塔问题
    《OD学hive》第六周20160731
    《OD学Hive》第六周20160730
    《OD学Sqoop》数据转换工具Sqoop
    《OD学hive》第五周0723
    《OD学hive》第四周0717
    《OD学hadoop》第四周0716
    hadoop环境搭建笔记
    《OD学hadoop》第三周0710
    《OD学hadoop》第三周0709
  • 原文地址:https://www.cnblogs.com/cyfblogs/p/9767732.html
Copyright © 2011-2022 走看看