繁体   English   中英

API调用JSON到MySQL

[英]API-call JSON into MySQL

我正在研究一个项目,我们想将JSON文件(通过API调用)插入mysql数据库。 我找到了多个示例,但由于存在多个对象和数组,所以我不知道从哪里开始。 第二个问题是列和行是单独的数组(我认为吗?)。

我们的目标是(每天,每小时等)填充一个看起来像这样的数据库(这是一个示例,我们确实有多个项目):

-----------------------------------
| Date | Value2 | Value3 | Value4 |
-----------------------------------
| 01-01-2015 | 123 | 1234 | 12345 |
-----------------------------------
| 02-01-2015 | 343443 | 4w3543422 | fref4rw4 | 
-----------------------------------
| 03-01-2015 | 234422r | wrfrw3434 | 2432rfr42324 |
-----------------------------------

问题是如何从JSON中获得这些值(这不是静态的:有时会有7天,有时更少,有时更多)? 从哪里开始?

@Marmik的代码可以解决问题!

<?php
$array = json_decode($json_data,true);
$sql_inserts = array();
foreach($array['reportitem']['rows']['r'] AS $row)
    {
        $sql_inserts[] = "('".$row[c][0]."','".$row[c][1]."','".$row[c]    [2]."','".$row[c][3]."')";
    }
$insert_values = implode("'",$sql_inserts);
$sql = "INSERT INTO table_name (date,Value2,Value3,Value4) $insert_values         ;";
?>

我认为在将JSON解码为PHP Array后使用foreach循环可以解决问题。

<?php
$array = json_decode($json_data,true);
$sql_inserts = array();
foreach($array['reportitem']['rows']['r'] AS $row)
    {
        $sql_inserts[] = "('".$row[c][0]."','".$row[c][1]."','".$row[c][2]."','".$row[c][3]."')";
    }
$insert_values = implode("'",$sql_inserts);
$sql = "INSERT INTO table_name (date,Value2,Value3,Value4) $insert_values ;";
?>

并且此SQL语句由JSON数组的数据创建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM