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

如何在Node.js的Google Cloud Function中解析Cloud Pub/Sub JSON整数?

解析Cloud Pub/Sub JSON消息中的整数问题解决方法

嘿,我看你在解析Cloud Pub/Sub消息里的整数值时碰钉子了,咱们来捋清楚问题出在哪,然后搞定它!

你的代码问题所在

你现在的代码里,直接尝试访问pubsubMessage.temp是行不通的——因为Pub/Sub传递的消息数据是经过Base64编码的,而且原始内容是JSON字符串,你得先完成解码+JSON解析这两步,才能拿到里面的具体字段值。

修正后的完整代码

这里给你调整后的代码,每一步都加了注释说明:

exports.subscribe = (event, callback) => {
  const pubsubMessage = event.data;
  
  // 第一步:把Base64编码的消息数据解码成字符串
  const messageStr = Buffer.from(pubsubMessage.data, 'base64').toString();
  
  try {
    // 第二步:将字符串解析为JSON对象
    const messageJson = JSON.parse(messageStr);
    
    // 第三步:现在就能正常访问里面的整数值了
    const tempValue = messageJson.temp;
    console.log("解析到的temp整数:", tempValue);
    console.log("temp的类型:", typeof tempValue); // 应该显示number
  } catch (error) {
    // 处理JSON解析失败的情况(比如消息格式不对)
    console.error("解析JSON失败:", error);
  }
  
  callback();
};

额外提醒

  • 确保你发布到Pub/Sub的消息确实是合法的JSON格式,而且包含temp字段,不然解析的时候会报错。
  • 如果你的消息里有其他整数字段,用同样的方式访问就行,JSON.parse会自动把符合格式的数字转成JavaScript的number类型。

内容的提问来源于stack exchange,提问作者Ľubomír Skirka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:04:24