You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome开发者工具中JSON响应值颜色差异问题咨询(附PHP代码)

问题排查与解决方案

针对你遇到的Chrome响应面板JSON颜色差异和Equuleus类型错误问题,我来逐一分析并给出解决方向:

1. JSON显示颜色差异的原因

Chrome开发者工具里的JSON高亮逻辑完全依赖后端返回的Content-Type响应头:

  • 对方网站的后端在输出JSON前,设置了正确的响应头:Content-Type: application/json,Chrome识别到这是标准JSON数据后,会自动对不同类型的值(比如字符串、数字、布尔值)应用差异化高亮(你看到的红色就是字符串的默认高亮色)。
  • 你的PHP代码直接echo json_encode($data),Web服务器默认会返回Content-Type: text/html响应头,Chrome会把输出内容当作普通文本处理,所以所有内容都显示为黑色。

解决方法:在输出JSON之前添加响应头声明,确保Chrome识别为JSON格式:

if($sql->num_rows > 0){
    // 先设置正确的JSON响应头
    header('Content-Type: application/json; charset=utf-8');
    while($row = $sql->fetch_assoc()){
        $nestedData["name"] = $row["olduploadfilename"];
        $nestedData["size"] = intval($row["uploadmissize"]);
        $data[] = $nestedData;
    }
    echo json_encode($data);
} else {
    // 空数据场景也返回合法JSON,避免前端解析报错
    header('Content-Type: application/json; charset=utf-8');
    echo json_encode([]);
}

2. "JSON Data Error: 数据并非Equuleus类型"的原因

这个错误说明前端(或你使用的Equuleus相关工具)期望接收特定结构的JSON数据,但你的输出不符合它的格式要求,常见可能性包括:

  • 缺少外层结构:Equuleus可能要求JSON是一个包含固定键的对象(比如{"code": 200, "data": [...], "msg": "success"}),但你直接返回了纯数组[...]。
  • 字段名不匹配:比如Equuleus期望的字段是filename而非name,或者fileSize而非size,需要对照目标网站的JSON结构确认差异。
  • 数据类型不符:虽然你把size转成了整数,但如果Equuleus期望该字段是字符串类型,也会触发类型错误(这种情况相对少见)。

排查建议:

  • 打开Chrome开发者工具的Network面板,查看目标网站的JSON响应结构,和你的输出做逐字段对比,找出结构差异。
  • 如果Equuleus有官方文档,查阅它要求的API响应格式规范,调整你的JSON输出结构。比如需要外层包裹对象的话,可以修改代码:
$response = [
    'code' => 200,
    'data' => $data,
    'message' => 'success'
];
echo json_encode($response);

内容的提问来源于stack exchange,提问作者user9240510

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:45:51