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

从Google Sheet获取的字符串数组无法提取city属性的求助

处理Google Sheet提取的字符串数组,提取City数据

解决步骤

  • 过滤数组中的空字符串,避免无效处理
  • 将字符串中的单引号替换为双引号(满足JSON格式解析要求)
  • 解析处理后的字符串为JSON对象,提取city字段
  • 增加异常处理,防止解析失败导致流程中断

完整代码示例

const array = ["[{'city': 'new york', 'state': 'ny'}]", "[{'city': 'dallas', 'state': 'tx'}]", "","[{'city': 'los angeles', 'state': 'ca'}]"];

const cities = array
  .filter(item => item.trim() !== '') // 筛掉空字符串
  .map(item => {
    try {
      // 替换单引号为双引号,解析成数组后取第一个对象
      const targetObj = JSON.parse(item.replace(/'/g, '"'))[0];
      return targetObj.city;
    } catch (err) {
      // 捕获解析错误,避免流程中断,同时输出错误信息方便排查
      console.error('解析失败:', item, err);
      return null;
    }
  })
  .filter(city => city !== null); // 过滤解析失败的无效结果

console.log(cities); // 输出: ["new york", "dallas", "los angeles"]

细节说明

  • 单引号替换:JSON.parse仅支持双引号格式的JSON字符串,所以必须把Google Sheet导出的单引号替换为双引号,否则会解析报错。
  • 异常捕获:如果遇到格式异常的字符串(比如缺失引号、结构错误),try/catch可以保证整个处理流程不中断,同时记录错误信息便于后续排查问题。
  • 空值过滤:无论是原始的空字符串还是解析失败返回的null,最终都过滤掉,确保结果数组只包含有效的城市名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:18:17