json字符串
是所有计算机语言通用的数据格式
便于各种计算机语言之间传递数据
不同计算机语言之间,传递数据的方式
php要给JavaScript一个数组,但是JavaScript看不懂php的数组
将PHP的数组---转化为json,发送给JavaScript
JavaScript可以看懂json---转化为JavaScript中对应的数据
PHP
json_encode() 将其他数据转化为json串
json_decode() 将json串还原为其他数据
JavaScript
JSON.stringify() 将其他数据转化为json串
JSON.parse() 将json串还原为其他数据
一.json定义
json字符串
专门用于数据交互时使用的一种特殊的字符串
不同计算语言,相同的数据类型,语法可能不同,需要将所有的计算机语言的数据内容
转化为相同的格式,便于数据交互
计算机程序,接收到json字符串之后,再转化为当前计算机语言可以支持的数据类型
人族 精灵族 矮人族 亡灵
你好 fdas 2133 看301789
相同的内容,不同的种族,不同的语言,内容并不同
都转化为 世界通用语 阿里巴巴 所有种族所有语言都明白是表示你好
不同的种族,接收的是 阿里巴巴(json串) 再翻译成自己种族的语言
PHP 中 定义一个数组 $arr = ['name'=>'张三' , 'age'=>18];
PHP 中 数组支持字符串作为索引键名
JavaScript中,数组,只支持数值作为索引下标
PHP 中 字符串数组,就要转化为 JavaScript中 对象
不同计算机语言,都有自己定义json字符串,和将json字符串还原的方法
PHP:
json_encode() 将其他数值,转化为json字符串
json_decode() 将json字符串,还原为其他数值
JavaScript:
JSON.stringify() 将其他数值,转化为json字符串
JSON.parse() 将json字符串,还原为其他数值
二.php实例demo
<?php
$arr = [
'name'=>'张三',
'age'=>180,
'sex'=>'男',
];
print_r($arr);
$json = json_encode($arr);
echo $json , '<br>';
$jsonArr = json_decode($json);
print_r($jsonArr);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
const obj = {
name:'张三',
age:18,
sex:'男',
};
let str = JSON.stringify(obj);
console.log(str);
console.log(obj);
const phpJson = JSON.parse('<?php echo $json;?>');
console.log(phpJson);
</script>
</body>
</html>