PHP处理JSON ......奇怪的行为

时间:2014-02-27 18:52:49

标签: php json laravel

我正在尝试将一个文件和一些数据上传到我的服务器,使用Angular JS通过AJAX发出POST请求,而我的后端是Laravel 4(这并不重要)。

现在我成功将此数据传递给我的控制器。我能够做到以下几点:

$data = Input::all();
return $data;

当响应成功时,我console.log数据输出,并产生:

Object {
    imageData: "{"title":"Some Title","owner":"Owner Name","source":"Source Name"}", 
    file: Object
}

好的,这就是我想要的,但更具体地说我想要imageData内的东西。

    $data = Input::all();

    $imageData = $data['imageData'];

    return $imageData;

好的console.log回来了:

Object {title: "Some Title", owner: "Owner Name", source: "Source Name"}

太棒了 - 但现在让我们按照这个趋势抓住个别元素:

    $data = Input::all();

    $imageData = $data['imageData'];

    $title = $imageData['title'];

    return $title;

不:500 (Internal Server Error)。我尝试将其作为对象($title = $imageData->title

进行访问也是如此

那么我该如何抓住里面的东西?

1 个答案:

答案 0 :(得分:4)

您的问题是$imageData是一个字符串。该字符串碰巧包含JSON,但它仍然是一个字符串。你可以看出它以双引号"开头和结尾的事实,如果它实际上是JSON则不会是这种情况。

您的问题可能是您将JSON传递给了某些东西,然后将数据转换为JSON。