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

在Python中按IP地址聚合重复JSON数据并构建键值对

按IP地址聚合计算机信息数组的解决方案

实现思路

先通过临时对象按IP_Address对条目分组,再将分组结果转换为{ip, data}结构的数组。

代码实现(JavaScript)

const input = [
    {
        "name": "computera",
        "Computer_Name": "computera",
        "Serial_Number": "computera",
        "IP_Address": "8.8.8.8"
    },
    {
        "name": "computerb",
        "Computer_Name": "computerb",
        "Serial_Number": "computerb",
        "IP_Address": "8.8.8.8"
    },
    {
        "name": "computerc",
        "Computer_Name": "computerc",
        "Serial_Number": "computerc",
        "IP_Address": "1.2.3.4"
    }
];

// 按IP地址分组
const ipMap = {};
input.forEach(item => {
    const ip = item.IP_Address;
    if (!ipMap[ip]) {
        ipMap[ip] = [];
    }
    ipMap[ip].push(item);
});

// 转换为目标格式
const output = Object.entries(ipMap).map(([ip, data]) => ({ ip, data }));

// 打印结果
console.log(JSON.stringify(output, null, 2));

输出结果

以下是符合JSON规范的输出结构(你给出的期望输出是两个独立对象,这里用数组包裹更符合标准):

[
  {
    "ip": "8.8.8.8",
    "data": [
      {
        "name": "computera",
        "Computer_Name": "computera",
        "Serial_Number": "computera",
        "IP_Address": "8.8.8.8"
      },
      {
        "name": "computerb",
        "Computer_Name": "computerb",
        "Serial_Number": "computerb",
        "IP_Address": "8.8.8.8"
      }
    ]
  },
  {
    "ip": "1.2.3.4",
    "data": [
      {
        "name": "computerc",
        "Computer_Name": "computerc",
        "Serial_Number": "computerc",
        "IP_Address": "1.2.3.4"
      }
    ]
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 11:32:45