将来自多个 API 端点的数据合并到一个数据库中

Posted

技术标签:

【中文标题】将来自多个 API 端点的数据合并到一个数据库中【英文标题】:Merge Data from multiple API Endpoints into one Database 【发布时间】:2021-12-01 18:37:16 【问题描述】:

我目前正在构建一个表,用于存储它通过 url 从 api 端点接收到的数据。我想从不同的端点添加其他列。数据以 JSON 格式存储,两个数据集有一个共同的键,即项目名称。

我想不出通过相关键合并这两个数据集的方法。我一个月前才开始编码。我需要建立一个存储数据的数据库还是可以用php来做?我用 mysql 过期了,但我找不到将数据从 url 加载到我的数据库中的方法。

非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

所以我假装在base.json中有以下数据

[ "id": 4, "name": "james" ,  "id": 6, "name": "tim" ]

在 2nd.json 中

 "4": ["flower", "car"], "6": ["house", "server"] 

所以现在下面的 PHP 代码将合并它们

<?php

$api_endpoint = json_decode(file_get_contents('base.json'), true);
$additional = json_decode(file_get_contents('2nd.json'), true);
$merged_data = array();

foreach ($api_endpoint as $data) 
    $merged_data[] = array_merge($data, $additional[$data['id']]);


var_dump($merged_data);

结果如下所示:

["0"] => Array(
    ["id"] => int(4)
    ["name"] => str("james")
    ["0"] => str("flower")
    ["1"] => str("car")
)
["1"] => Array(
    ["id"] => int(6)
    ["name"] => str("tim")
    ["0"] => str("house")
    ["1"] => str("server")
)

所以现在您可以使用$merged_data 并将其插入到您的数据库中。

【讨论】:

以上是关于将来自多个 API 端点的数据合并到一个数据库中的主要内容,如果未能解决你的问题,请参考以下文章

React.js 获取 API 的多个端点

MongoDB:将来自多个集合的数据合并为一个..如何?

显示来自多个服务器端点的数据

将 2 个 REST 端点合并到单个 GraphQL 响应

Django - 如何通过 API 端点使用 rest_framework 动态地将多个对象添加到数据库中

如何将来自间接依赖项目的版本合并到一个项目中