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

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

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

非常感谢您的帮助!

【问题讨论】:

    标签: php mysql json database api


    【解决方案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 并将其插入到您的数据库中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-26
      • 2012-09-09
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多