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

解析JSON数组并打印salary时控制台无输出,求排查解决

解析JSON数组并打印salary字段无输出的问题修复

问题根源

你的代码和JSON数据存在三个关键问题:

  1. JSON格式不合法:提供的JSON片段是两个独立对象,不是合法数组,必须用[]包裹才能被正确解析为数组
  2. 错误的类型转换:你把解析后的对象数组又用JSON.stringify()转成了字符串,字符串没有.salary属性,自然打印不出内容
  3. 未处理数组结构:即使解析正确,目标数据是数组,不能直接通过.salary访问,需要遍历每个元素获取对应字段

修正后的JSON数据(合法数组格式)

[{"factioname":"sp-force","inviter":"MohammedZr","salary":5000},{"factioname":"air-force", "inviter":"Admin","salary":8000}]

修复后的代码

if (data.action == 'SendArray') {
  let invites = data.invites;
  // 解析为数组
  const invitesArray = JSON.parse(invites);
  // 遍历数组打印每个元素的salary
  invitesArray.forEach(item => {
    console.log(item.salary);
  });
}

额外优化建议

  • 如果data.invites本身已经是JS数组(不是JSON字符串),可以直接跳过JSON.parse步骤
  • 添加错误捕获,避免JSON解析失败导致代码崩溃:
if (data.action == 'SendArray') {
  let invites = data.invites;
  try {
    const invitesArray = JSON.parse(invites);
    invitesArray.forEach(item => {
      console.log(item?.salary || '无salary字段');
    });
  } catch (err) {
    console.error('JSON解析失败:', err);
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:54:19