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

Node.js如何统计JSON文件父数组包含的直接子数组数量

Node.js统计matches.json直接子数组数量实现

核心逻辑

你需要统计的是JSON根数组下的第一层直接子数组总数,不需要递归处理深层嵌套内容,针对你给出的matches.json内容,最终统计结果固定为2。

实现步骤非常直接:

  • 读取本地matches.json文件内容
  • 把JSON格式字符串解析成JavaScript可操作的数组对象
  • 遍历根数组的每一项,判断当前项是否为数组类型,累加计数即可

可直接运行的代码

把下面代码保存为和matches.json同目录的js文件,用Node.js运行即可得到结果:

const fs = require('fs');
const path = require('path');

// 拼接matches.json的绝对路径
const targetFile = path.join(__dirname, 'matches.json');

try {
  // 读取并解析JSON文件
  const rawContent = fs.readFileSync(targetFile, 'utf8');
  const rootData = JSON.parse(rawContent);

  // 先校验根节点格式是否符合预期
  if (!Array.isArray(rootData)) {
    throw new Error('matches.json根节点不是数组结构,不符合数据格式要求');
  }

  // 统计直接子数组数量
  let count = 0;
  rootData.forEach(item => {
    if (Array.isArray(item)) count++;
  });

  console.log('根节点直接子数组总数:', count);
  // 对应你提供的matches.json,此处输出为2
} catch (e) {
  console.error('执行出错:', e.message);
}

注意事项

  • 你给出的matches.json示例内容里存在数组末尾多余的尾逗号,这不符合标准JSON语法规范,运行代码前要把这些多余的逗号删掉,否则会触发JSON解析错误
  • 运行脚本时直接在终端执行node 你保存的脚本文件名.js即可看到输出结果
  • 该逻辑仅统计根节点下的第一层直接子数组,不会递归统计子数组内部嵌套的数组,完全匹配你的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 17:27:27