简体   繁体   English

需要帮助调试 json 响应

[英]Need help to debug json response

I am trying to sent response in that form我正在尝试以这种形式发送响应

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

But I'm getting response like that但我得到这样的回应

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

Here is my PHP code:这是我的 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);

Please help me to fix code i need response in that way请帮助我修复我需要以这种方式响应的代码

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

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

Use json_encode to make json, don't do it manual使用json_encode制作json,不要手动做


  1. Create an object with desired keys outside the loop使用循环外的所需键创建 object
  2. Push anything to the desired array将任何内容推送到所需的数组
  3. Convert to json转换为 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);

If I use some dummy values to create an example, the output is:如果我使用一些虚拟值来创建示例,则 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\""
        }
    ]
}

As you can test in this online demo正如您可以在此在线演示中测试的那样

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

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