Home >Backend Development >PHP Problem >How to determine whether the data is json in php

How to determine whether the data is json in php

藏色散人
藏色散人Original
2021-12-01 10:11:537973browse

php method to determine whether the data is json: 1. Create a PHP sample file; 2. Use the "function analyzeJson($json_str) {...}" method to determine whether the data is json.

How to determine whether the data is json in php

The operating environment of this article: windows7 system, PHP version 7.4, DELL G3 computer

How does php determine whether the data is json?

php method to determine whether it is in json format

http://www.poluoluo.com/jzxy/201403/265005.html

How does PHP determine whether the data is json?

First of all, remember that json_encode returns a string, and json_decode returns an object.

Determine if the data is not in JSON format:

The code is as follows:

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

Judge that the data is legal json data: (PHP version is greater than 5.3)

The code is as follows :

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

The json_last_error() function returns the error that occurred during the data encoding and decoding process

Note: The string operated by json encoding and decoding must be UTF8

Example

The code is as follows:

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

If it is not json, return false

Recommended learning: "PHP Video Tutorial

The above is the detailed content of How to determine whether the data is json in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn