繁体   English   中英

需要帮助调试 json 响应

[英]Need help to debug json response

我正在尝试以这种形式发送响应

{"files":[{"webViewLink":""},{"webViewLink":""}]}

但我得到这样的回应

{"files":[{"webViewLink":"""}]}{"files":[{"webViewLink":"""}]}

这是我的 PHP 代码:

<?php

    $idtemp = extractfiles($fol_id, $email);
    foreach ($idtemp['items'] as $val) {
        $id = $val['id'];
        $val = array(
            "webViewLink" =>  'https://drive.google.com/file/d/'.$val['id'].'/view?usp=drivesdk"'
            );
        $enc = json_encode($val);
        $val = '{"files":['.$enc.']}';
        echo($val);

请帮助我修复我需要以这种方式响应的代码

{"files":[{"webViewLink":""},{"webViewLink":""}]}

你不应该这样做$val = '{"files":['.$enc.']}';

使用json_encode制作json,不要手动做


  1. 使用循环外的所需键创建 object
  2. 将任何内容推送到所需的数组
  3. 转换为 json
<?php

    $idtemp = extractfiles($fol_id, $email);
    $json = (object) [
        "files" => []
    ];
    foreach ($idtemp['items'] as $val) {
        $json->files[] = (object) [
            "webViewLink" => 'https://drive.google.com/file/d/'.$val['id'].'/view?usp=drivesdk"'
        ];
    }
    $json = json_encode($json);
    echo($json);

如果我使用一些虚拟值来创建示例,则 output 是:

{
    "files": [
        {
            "webViewLink": "https://drive.google.com/file/d/1/view?usp=drivesdk\""
        },
        {
            "webViewLink": "https://drive.google.com/file/d/2/view?usp=drivesdk\""
        },
        {
            "webViewLink": "https://drive.google.com/file/d/3/view?usp=drivesdk\""
        }
    ]
}

正如您可以在此在线演示中测试的那样

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM