Laravel JSON maxCDN / Chrome JSON Formatter不起作用

时间:2015-06-02 08:41:03

标签: php json google-chrome laravel

目前我正在使用Laravel和maxcdn API。 这是我的小测试代码

"Retrieving the COM class factory for component with CLSID {XXX}   
failed due to the following error: 80080005."

如您所见,标题设置为json

Route::get('cdn', function() { $api = new MaxCDN("myurl","mykey","mysecret"); $data = $api->get('/account.json'); return response()->json($data); });

现在,如果我访问我的/ cdn网址,Chrome JSON格式化程序当然应该合成输出。但它不起作用,我只得到这个输出

application/json

我在家用机器上工作

"{\"code\":200,\"data\":{\"account\":{\"id\":\"12312\",\"name\":\"My Name \",\"alias\":\"myurl\",\"date_created\":\"2015-05-17 07:51:50\",\"date_updated\":\"0000-00-00 ........

1 个答案:

答案 0 :(得分:1)

$api->get('/account.json');调用返回包含json数据的字符串。然后,您将此字符串传递给response()->json();方法,这就是您看到的输出。

您需要通过json_decode()运行字符串,以便将json字符串转换为PHP对象。完成后,您可以将结果传递给response()->json();方法,您将获得您正在寻找的结果。

Route::get('cdn', function() {
    $api = new MaxCDN("myurl","mykey","mysecret");
    $stringData = $api->get('/account.json');

    // convert the json string into an actual PHP object
    $data = json_decode($stringData);

    // respond with the object
    return response()->json($data);
});