laravel json 的坑

15 号的份

laravel 创建 json

使用laravel 创建 json 时

可以使用 json_encode() 不过

当输入如下时,

1
2
3
4
5
$test = [
[
'test' => 'test'
]
]

返回的为数组包裹,可以使用$request[0]['test']获取数据

当输入如下时,

1
2
3
4
5
$test = [
'test' => [
'test' => 'test'
]
]

返回的为对象包裹,可以使用$request->input('test.test')获取数据

在进行大量数据传入时,注意使用对应的方法进行循环写入。


20号的份

laravel 外部请求方法

使用GuzzleHttp 进行请求时

当使用json时 需要添加Content-Typeapplication/json,数据写在body

如果使用传统方式去除Content-Type, 使用form_params请求。

1
2
3
4
5
'headers' => [
'Authorization' => 'Bearer '.'toekn',
'Content-Type' => 'application/json',
],
'body' => json_encode($JsonData),

laravel json 的坑

当使用json请求时,Request 可以自动解析json为数组

也可以使用$request->input()

最坑的是刚使用return 时会自动使用json……

使用json_decode() 也会返回json , 可是实际上转换了,使用dd()发现是数组……

这时请求端在使用一次json_decode()就一定会出错。

所以在请求端json_decode()一次就好。

大致上可以推测 请求端发送的为独立数据,使用GuzzleHttp获取的返回为object 所以需要 json_decode()

vue 不能跨域也是…… 现在还是先做出来,之后再完善的好。

原因暂时没有找到估计时laravel passport的锅