Home >Backend Development >PHP Tutorial >PHP JSON operation, phpjson operation_PHP tutorial
Since JSON can be used in many programming languages, we can use it for small data transfer, such as: PHP outputs JSON string for JavaScript Use etc. In PHP, you can use json_decode() to parse a JSON object from a string of standardized strings, and use json_encode() to generate a string of standardized strings from a JSON object.
Example:
$json = '{"a":1, "b":2, "c":3, "d":4, "e":5 }';
var_dump(json_decode($json));
var_dump(json_decode($json,true));
Output:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
[ "c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3 )
["d"] => int(4)
["e"] => int(5)
}
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5 );
echo json_encode($arr);
Output: {"a":1,"b":2,"c":3,"d":4,"e":5}
1. json_decode(), convert characters to JSON, generally used when receiving data sent by Javascript.
$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666" ,"mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
echo 'Website name:'.$web-> ;webname.'
Website: '.$web->url.'
Contact: QQ-'.$web->contact->qq.' MAIL :'.$web->contact->mail;
?>
In the above example, we first define a variable s, and then use json_decode() to parse it into a JSON object. Then it can be used in the JSON way. From the usage point of view, JSON, XML and array implementation The functions are similar and they can both store some data that are related to each other, but I personally feel that JSON is easier to use, and data sharing can be achieved using JSON and JavaScript.
2. json_encode(), JSON to character conversion. This is generally used in AJAX applications to convert JSON objects into strings and output them to Javascript. It is also used when storing in the database. .
$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666" ,"mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
echo json_encode($web);
? >
2.PHP JSON to array
$s='{"webname":"homehf","url":"www.homehf.com","qq":"744348666"}';
$web=json_decode($s); //Convert characters to JSON
$arr=array();
foreach($web as $k=>$w) $arr[$k]= $w;
print_r($arr);
?>
In the above code, a JSON object has been converted into an array. However, if it is a nested JSON, the above code is obviously unable to do anything. Then we write a function to solve the nested JSON,
$s='{"webname":"homehf","url":"www.homehf.com","contact" :{"qq":"744348666","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
$arr =json_to_array($web);
print_r($arr);
function json_to_array($web){
$arr=array();
foreach($web as $k= >$w){
if(is_object($w)) $arr[$k]=json_to_array($w); //Judge whether the type is object
else $arr[$k]=$w ;
}
return $arr;
}
?>