废话不多说了,直接给大家贴代码了,具体代码如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
<?php $GLOBALS [ 'count' ] = 0; //校验data或者content的json格式是否有错误 function data( $value ) { if (isset( $value [ 'data' ])) { $value [ 'data' ] = json_decode( $value [ 'data' ], true); } else if (isset( $value [ 'content' ])) { $value [ 'content' ] = json_decode( $value [ 'content' ], true); } else { die ( '必须要有content或者data字段' ); } $error = json_last_error(); if (! empty ( $error )) { echo "<pre>" ; print_r( $value ); echo "</pre>" ; } return $value ; } //校验静态资源是否存在; function my_filter( $value ) { $needle = [ '.jpg' , '.jpeg' , '.png' , '.avi' , '.mp4' , '.wav' , '.gif' , '.mp3' ]; $root = 'D:/phpStudy/WWW/levelData/' ; foreach ( $needle as $k => $v ) { $aa = strpos ( $value , $v ); if ( $aa ) { $file = $root . $value ; if (! file_exists ( $file )) { $GLOBALS [ 'count' ]++; return $value ; } } } } //获取多维数组里面某一列的下标,并重新组成一维数组 function searchMultiArray( array $array , $search , $mode = 'key' ) { $res = array (); foreach ( new RecursiveIteratorIterator( new RecursiveArrayIterator( $array )) as $key => $value ) { if ( $search === ${${ "mode" }}) { if ( $mode == 'key' ) { $res [] = $value ; } else { $res [] = $key ; } } } return $res ; } function my_filter_answer( $value ) { $needle = [ ',' , '、' , ' ' , '.' , ',,' , ',,' ]; foreach ( $needle as $k => $v ) { $aa = strpos ( $value , $v ); if ( $aa ) { return 1; } } } //将汉字,特殊字符原样变成json数据 function ch_json_encode( $data ) { $ret = ch_urlencode( $data ); $ret = json_encode( $ret ); return '\'' . addslashes (urldecode( $ret )) . '\'' ; } //汉字,特殊字符变可读懂的字符串主程序 function ch_urlencode( $data ) { if ( is_array ( $data ) || is_object ( $data )) { foreach ( $data as $k => $v ) { if ( is_scalar ( $v )) { if ( is_array ( $data )) { $data [ $k ] = urlencode( $v ); } else if ( is_object ( $data )) { $data -> $k = urlencode( $v ); } } else if ( is_array ( $data )) { $data [ $k ] = ch_urlencode( $v ); // 递归调用该函数 } else if ( is_object ( $data )) { $data -> $k = ch_urlencode( $v ); } } } return $data ; } |
总结
以上所述是小编给大家介绍的PHP判断json格式是否正确的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/zhezhebie/article/details/78041782