废话不多说了,直接给大家贴代码了,具体代码如下所示:
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