好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php检测数据是否为json字符 - php高级应用

php检测数据是否为json字符

检测返回的数据是不是json格式的数据我们可以使用几个方法来判断,下面我整理了一些比较实用的检测json字符串是不是json格式的例子,希望例子能帮助各位带来帮助.

首先要记住json_encode返回的是字符串,而json_decode返回的是对象.

判断数据不是JSON格式,代码如下:

function  is_not_json( $str ){        return   is_null (json_decode( $str ));  } 

判断数据是合法的json数据,PHP版本大于5.3,代码如下:

function  is_json( $string ) {   json_decode( $string );    return  (json_last_error() == JSON_ERROR_NONE);  } 

json_last_error()函数返回数据编解码过程中发生的错误.

注意: json编解码所操作字符串必须是UTF8的,如果不是json则返回false,代码如下:

/**   * 解析json串   * @param type $json_str   * @return type   */   private   function  analyJson( $json_str ) {  $json_str  =  str_replace ( '\\' ,  '' ,  $json_str );  $out_arr  =  array ();  preg_match( '/\{.*\}/' ,  $json_str ,  $out_arr );  if  (! empty empty ( $out_arr )) {  $result  = json_decode( $out_arr [0], TRUE);  }  else  { //开源软件:phpfensi.com   return  FALSE;  }  return   $result ;  } 

上面的几种方法都可以检测来是不是json数据,当然我还有一个另类的做法就是使用ajax来实现,例子如下.

使用 AJAX 请求来获得 JSON 数据,并输出结果,代码如下:

$.getJSON( "test.js" ,  function (json){    alert( "JSON Data: "  + json.users[3].name);  }); 

如果返回的值不正确就是不合法的json字符串了,是不是这样也可以呀.

查看更多关于php检测数据是否为json字符 - php高级应用的详细内容...

  阅读:46次