【php+js】JSON用法之将PHP数组转JS数组,JS如何接收PHP数组

时间:2022-10-29 20:52:21

1、我前台需要接受如下格式的 json 数组数据,用来渲染

[
 {date:"2018-06-09",data:"1"},
 {date:"2018-06-23",data:"aadsf34"},
 {date:"2018-07-02",data:"3"},
]

2、服务器php如何输出才能被js 解析成上面的数据呢?

php输出:(字符串)

foreach ($arr as $value) {
  $json .= json_encode($value) . ',';
} 
echo '[' . substr($json,0,strlen($json) - 1) . ']';

json_encode()是将$arr的每一个值进行json编码,然后我们想输出一个json的数组,所以我们将每个编译后的值后面加一个逗号并且最后在所有值外面加上'[]',这是json数组的格式,注意因为我们在将每一个值进行json编码后都加上一个逗号在后面,这样就导致最后所有值合并数组时多一个逗号,所有我们得用substr()函数将其最后一个逗号去掉!

3、然后我们来看js文件

当我们用arr接受到php文件传输的json数组后:(前台JSON解析字符串成json数组)

var json = JSON.parse(arr);

JSON是咱们开始下载那个文件中定义的一个对象,我们用它的parse方法将json数组转化成js的数组!这是变量json接受到的是一个js数组所以直接不能打印出来,你可以遍历这个json数组或者json[0]来输出!