将来自多个 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 端点的数据合并到一个数据库中的主要内容,如果未能解决你的问题,请参考以下文章