04
2020
04

json_encode详解和用法

一:详解;

json_encode($json_str,true)在一般情况下可以返回一个数组,但当$json_str的字符编码是GBK或其它时,返回的是一个

空数组,必须用iconv(‘gbk’,‘ut8//IGNORE’,$json_str)转换编码才行。

说明

string iconv ( string $in_charset , string $out_charset , string $str )

将字符串 str 从 in_charset 转换编码到 out_charset。

参数

in_charset

输入的字符集。

out_charset

输出的字符集。

如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。 如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则,str 从第一个无效字符开始截断并导致一个 E_NOTICE 。

str

要转换的字符串。

二:使用;

json_encode用法

1、从数据库中查询出来的数据,放在数组中

$query=mysql_query($SQL);

 while($row = mysql_fetch_array($query)){ 

        $xdata[]=$row['EventDate'];

         $ydata[]=intval($row['data']);

    }

2、将数据转成json

  $data_arr=array($xdata,$ydata)

  json_encode($data_arr);

3、HTML 页面中  AJAX调用数据

$.ajax({

   type: "Get",   

   url: "columndata.php?r=" + Math.floor(Math.random() * 1000 + 1), 

   data: { 'BeginTime': "" + beginTime + "", "EndTime": "" + endTime + "" , "keyword": "" + keyword + "" },

   dataType: "text",   

   global: false,  

   async: false,   

   success: function (strReult) {

    if (strReult == "-1") { alert("fail!"); return; }

            

    var jsondata = eval("(" + strReult + ")");

       var xData = jsondata[0];                                

     var yData = jsondata[1];

       var namestr = jsondata[2];

   }, 

   error: function () {

    alert("fail!");

   }

  });

原文链接:https://www.qiquanji.com/post/8423.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

gzh

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。