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

如何在HTML/Node.js中隐藏JSON键名,格式化API返回结果

问题解决方法

你当前代码的核心问题是:API返回的body本身就是JSON格式的字符串,你却用JSON.stringify(body)再次转义,导致输出出现冗余引号和完整键值对。要实现目标格式,需要先解析body为JS对象,再提取对应值处理后拼接。

修改后的完整回调函数

function callback(error, response, body) {
    if (!error && response.statusCode == 200) {
        // 把API返回的JSON字符串解析为可操作的JS对象
        const cardData = JSON.parse(body);
        // 处理日期:截取年份后两位+月份(比如2027-01-24T... → 27-01)
        const formattedDate = cardData.date.slice(2, 7);
        // 按需求顺序提取所有需要的值
        const targetValues = [
            cardData.type,
            formattedDate,
            cardData.fullName,
            cardData.cardNumber,
            cardData.cvv
        ];
        // 拼接成你想要的格式
        const finalOutput = `{${targetValues.join(', ')}}`;
        // 输出到页面元素
        document.getElementById("output").textContent = finalOutput;
    }
}

关键细节说明

  • JSON解析:JSON.parse(body)将字符串转成JS对象,才能直接获取type、date等字段的值。
  • 日期处理:利用字符串slice方法截取指定位置的字符,快速得到27-01格式的日期。
  • 值拼接:把需要的值存入数组,用join(', ')一键完成逗号分隔的拼接,最后包裹大括号。
  • 安全输出:用textContent代替innerHTML,避免不必要的DOM解析风险(即使是静态数据,也建议养成这个习惯)。

注:你贴出的API返回结果末尾有个多余的},应该是粘贴失误,实际API返回的必须是合法JSON,否则JSON.parse会报错,若确有格式问题,需先修正字符串再解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 20:55:09