簡體   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