1function isJson($string) {
2 json_decode($string);
3 return (json_last_error() == JSON_ERROR_NONE);
4}
1//Json Encode
2
3$person = array(
4 "name" => "KINGASV",
5 "title" => "CTO"
6);
7$personJSON=json_encode($person);//returns JSON string
8
9//Json Decode
10
11$personJSON = '{"name":"KINGASV","title":"CTO"}';
12
13$person = json_decode($personJSON);
14
15echo $person->name; // KINGASV
16
1function IsJsonString(str) {
2 try {
3 JSON.parse(str);
4 } catch (e) {
5 return false;
6 }
7 return true;
8}
1//Simple
2if (is_object(json_decode($var))) {
3 ....
4}
5
6//Else
7var $x = json_decode($var);
8var $y = is_object($x)?$x:....;
9
10//Better
11function json_validate($string) {
12 // decode the JSON data
13 $result = json_decode($string);
14
15 // switch and check possible JSON errors
16 switch (json_last_error()) {
17 case JSON_ERROR_NONE:
18 $error = ''; // JSON is valid // No error has occurred
19 break;
20 case JSON_ERROR_DEPTH:
21 $error = 'The maximum stack depth has been exceeded.';
22 break;
23 case JSON_ERROR_STATE_MISMATCH:
24 $error = 'Invalid or malformed JSON.';
25 break;
26 case JSON_ERROR_CTRL_CHAR:
27 $error = 'Control character error, possibly incorrectly encoded.';
28 break;
29 case JSON_ERROR_SYNTAX:
30 $error = 'Syntax error, malformed JSON.';
31 break;
32 // PHP >= 5.3.3
33 case JSON_ERROR_UTF8:
34 $error = 'Malformed UTF-8 characters, possibly incorrectly encoded.';
35 break;
36 // PHP >= 5.5.0
37 case JSON_ERROR_RECURSION:
38 $error = 'One or more recursive references in the value to be encoded.';
39 break;
40 // PHP >= 5.5.0
41 case JSON_ERROR_INF_OR_NAN:
42 $error = 'One or more NAN or INF values in the value to be encoded.';
43 break;
44 case JSON_ERROR_UNSUPPORTED_TYPE:
45 $error = 'A value of a type that cannot be encoded was given.';
46 break;
47 default:
48 $error = 'Unknown JSON error occured.';
49 break;
50 }
51
52 if ($error !== '') {
53 // throw the Exception or exit // or whatever :)
54 exit($error);
55 }
56 // everything is OK
57 return $result;
58}
59$output = json_validate($json);
1function getJsonData(){
2 $var = get_object_vars($this);
3 foreach ($var as &$value) {
4 if (is_object($value) && method_exists($value,'getJsonData')) {
5 $value = $value->getJsonData();
6 }
7 }
8 return $var;
9}
10