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

PHP处理JSON。。。奇怪的行为,php,json,laravel,Php,Json,Laravel,我正试图上传一个文件和一些数据到我的服务器,使用Angular JS通过AJAX发出POST请求,而我的后端是Laravel 4(这并不重要) 现在我成功地将此数据传递给我的控制器。我能够做到以下几点: $data = Input::all(); return $data; Iconsole.log在响应成功时将数据输出,并生成: Object { imageData: "{"title":"Some Title","owner":"Owner Name","source":"Sour

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

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

$data = Input::all();
return $data;
I
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(内部服务器错误)
。我尝试将其作为对象访问的原因也是如此(
$title=$imageData->title


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

你的问题是,
$imageData
是一个字符串。这个字符串碰巧包含JSON,但它仍然是一个字符串。你可以从它以双引号开始和结束的事实看出,如果它是JSON,情况就不会是这样了


您的问题很可能是将JSON传递给某个对象,然后该对象将数据转换为JSON。

您的问题是,
$imageData
是一个字符串。该字符串碰巧包含JSON,但仍然是一个字符串。您可以从它以双引号开始和结束这一事实看出
,如果它实际上是JSON,情况就不一样了


您的问题可能是您正在将JSON传递给某个对象,然后该对象将数据转换为JSON。

检查您的错误日志以了解500错误的真正含义。您可以打印($imageData)吗我只是想看看它是什么样子php@JonathanKuhn带有消息“非法字符串偏移量”标题“”的异常“ErrorException”-其他内容不多!请检查错误日志以了解500错误的真正含义。您可以打印($imageData)吗我只是想看看它是什么样子php@JonathanKuhn异常“ErrorException”和消息“非法字符串偏移量”标题“”-没有太多其他的!啊,是的,我认为你是对的!经过一些研究后,一个
json_解码($data['imageData'],true)
似乎完成了这项工作。Ta.啊,是的,我认为你是对的!经过一些研究后,一个
json_解码($data['imageData'],true)
似乎完成了这项工作。Ta。