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

如何遍历mani.json文件中的JSON对象集合?

遍历mani.json对象集合的实现方案

没问题,我来帮你搞定遍历mani.json里工件对象的需求!首先得提个重要的小细节:你给出的示例内容其实不是标准的JSON格式——多个对象直接并列会导致解析工具报错,正确的做法是把所有对象放在一个数组里,也就是用[]包裹起来,我先给你修正后的合法格式:

[
  { "art_src_path": "source/subdir/hi-there.txt","art_id": "6945-L9.txt","art_date": "2018:03:10 01:10:33"},
  { "art_src_path": "source/hello-world.txt","art_id": "10426-L13.txt","art_date": "2018:03:10 01:10:33"},
  { "art_src_path": "source/subdir/testfile.txt","art_id": "50518-L66.txt","art_date": "2018:03:10 01:10:33"}
]

下面给你两种最常用语言的实现方法:

Python 实现

Python自带的json模块就能轻松搞定,代码简单直观:

import json

# 读取并解析JSON文件
with open('mani.json', 'r', encoding='utf-8') as f:
    artifacts = json.load(f)

# 逐个遍历每个工件对象
for art in artifacts:
    # 这里可以替换成你需要的业务逻辑,比如存储、分析等
    print(f"工件ID: {art['art_id']}")
    print(f"源文件路径: {art['art_src_path']}")
    print(f"创建日期: {art['art_date']}")
    print("---")

这段代码会把JSON数组加载成Python列表,然后循环遍历列表里的每个字典对象,你可以根据需求修改print部分的逻辑,比如写入数据库或者生成报告。

Node.js 实现

如果你用JavaScript在Node.js环境下处理,不用额外装依赖,内置模块就能解决:

const fs = require('fs');

// 异步读取文件(推荐,不阻塞主线程)
fs.readFile('mani.json', 'utf8', (err, data) => {
    if (err) {
        console.error('读取文件时出错:', err);
        return;
    }
    const artifacts = JSON.parse(data);
    
    // 遍历所有工件对象
    artifacts.forEach(art => {
        console.log(`工件ID: ${art.art_id}`);
        console.log(`源文件路径: ${art.art_src_path}`);
        console.log(`创建日期: ${art.art_date}`);
        console.log('---');
    });
});

如果是简单的脚本场景,也可以用同步读取的方式:

const fs = require('fs');

try {
    const artifacts = JSON.parse(fs.readFileSync('mani.json', 'utf8'));
    artifacts.forEach(art => {
        // 自定义处理逻辑
        console.log(`${art.art_id} -> ${art.art_src_path}`);
    });
} catch (err) {
    console.error('处理失败:', err);
}

额外提示

如果你的原始mani.json确实是多个独立对象直接并列(非数组格式),可以先通过字符串处理转换成合法数组:比如读取整个文件内容后,在开头加[、结尾加],并在每个对象之间补上逗号。不过更推荐直接修正JSON文件的格式,这是最稳妥、不易出错的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:08:36