如何从Laravel5中的json类型响应中获取值

时间:2015-04-20 14:19:00

标签: php json laravel

这是一个函数返回:

return response()->json(['aa'=>'bbb']);  

然后打印功能响应,结果如下:

JsonResponse {#186
 #jsonOptions: 0
 #data: "{"aa":"bbb"}"
 #callback: null
 #encodingOptions: 15
 +headers: ResponseHeaderBag {#187
 #computedCacheControl: array:1 [
  "no-cache" => true
]

我之前从未见过,我怎样才能获得价值bbb?感谢

3 个答案:

答案 0 :(得分:9)

我已经解决了这个问题,使用getData()可以读取json。

$a = response()->json(['aa'=>'bbb']);  
$a->getData()->aa;

答案 1 :(得分:5)

您看到的是response()->json()生成的对象。这实际上并不是客户会得到的。因为Laravel会在发回之前将其转换为字符串。

在客户端上,您可以将其用作JSON。这是jQuery ajax的一个例子:

$.ajax({
    url: '/your/route'
}).done(function(data){
    alert(data.aa);  // alerts bbb
});

答案 2 :(得分:1)

除了观月说的话

$a = response()->json(['aa'=>'bbb'])->getData();  
dd($a->aa);

有效!