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

如何将socials字符串响应转为目标对象格式,JSON.parse无效怎么办

问题原因

你调用JSON.parse失败是因为接口返回的socials字段值是自定义的逗号分隔键值对字符串,不符合标准JSON格式,无法直接解析,手动拆分处理即可完成转换。

实现代码(JavaScript 示例)
// 接口返回的原始socials字符串
const originSocialStr = "Whatsapp_phone: 3413536723,Instagram: agusmac1,Linkedin: agusmac,Facebook: agusmac40";
const socials = {};

originSocialStr.split(',').forEach(item => {
  // 按冒号分割为键和值,仅分割一次避免值本身带冒号的异常
  let [key, value] = item.split(':', 2).map(i => i.trim());
  // 替换键名:把Whatsapp_phone改为Whatsapp
  if (key === 'Whatsapp_phone') key = 'Whatsapp';
  // 适配你示例中Facebook值替换逻辑,不需要可以删掉这行
  if (key === 'Facebook') value = 'agusmac20';
  // 手机号按需转数字类型,不需要转的话直接赋值value即可
  socials[key] = isNaN(Number(value)) ? value : Number(value);
})

console.log(socials);
/* 输出结果和你要求的格式完全一致:
{
  Whatsapp: 3413536723,
  Instagram: 'agusmac1',
  Linkedin: 'agusmac',
  Facebook: 'agusmac20'
}
*/
补充说明
  • 如果后续有其他键名需要修改,直接在键名判断分支里加对应规则即可
  • 如果不需要修改Facebook的原值,删掉对应值替换的代码行即可
  • 如果需要保留手机号为字符串格式,直接赋值socials[key] = value即可,不需要做数字转换判断

内容的提问来源于stack exchange,提问作者Agus Mac Rae

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:48:04