相关疑难解决方法(0)

为什么json_encode会添加反斜杠?

我已经使用json_encode了很长时间,到目前为止我没有任何问题.现在我正在使用上传脚本,我尝试在文件上传后返回一些JSON数据.

我有以下代码:

print_r($result); // <-- This is an associative array
echo json_encode($result); // <-- this returns valid JSON
Run Code Online (Sandbox Code Playgroud)

这给了我以下结果:

// print_r result
Array
(
    [logo_url] => http://mysite.com/uploads/gallery/7f/3b/f65ab8165d_logo.jpeg
    [img_id] => 54
    [feedback] => Array
        (
            [message] => File uploaded
            [success] => 1
        )

)

// Echo result
{"logo_url":"http:\/\/mysite.com\/uploads\/gallery\/7f\/3b\/f65ab8165d_logo.jpeg","img_id":"54","feedback":{"message":"File uploaded","success":true}}
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么json_encode添加斜线?

更新

@Quentin说,事情是发生之间json_encode以及.parseJSON和他是对的.

做一个alert(data.toSource());给我下垂的结果:

({response:"{\"logo_url\":\"http:\\/\\/storelocator.com\\/wp-content\\/uploads\\/gallery\\/7f\\/3b\\/71b9520cfc91a90afbdbbfc9d2b2239b_logo.jpeg\",\"img_id\":\"62\",\"feedback\":{\"message\":\"File uploaded\",\"success\":true}}", status:200})
Run Code Online (Sandbox Code Playgroud)

这不是有效的JSON.它还添加了status:200,我不知道它来自何处.

可能是Plupload bind我的返回数据做了什么?

这是我的js脚本:

  uploader.bind('FileUploaded', function(up, file, data) {
    alert(data.toSource());
    $('#' …
Run Code Online (Sandbox Code Playgroud)

php json

46
推荐指数
3
解决办法
8万
查看次数

标签 统计

json ×1

php ×1