2017-11-05 1 views
0

私の悪い英語のために最初の申し訳ありません。 私はjsonの中にPOSTリクエストを持っています。私はそれを私のデータベースに保存します。これには隣接リストモデルがあります。それは2列で構成されています:nameparent_id、 私はPHPを使ってこのJSONを解析し、それを私のデータベースに保存できますか? 提案がありますか?ありがとう。jsonを解析してデータベースに保存するには?

マイJSON:

{ 
    "name": "Category 1", 

    "children": [ 
    { 
     "name": "Category 1.1", 
     "children": [ 
     { 
      "name": "Category 1.1.1", 
      "children": [ 
      { 
       "name": "Category 1.1.1.1" 
      }, 
      { 
       "name": "Category 1.1.1.2" 
      }, 
      { 
       "name": "Category 1.1.1.3" 
      } 
      ] 

     }, 

     { 
      "name": "Category 1.1.2", 
      "children": [ 
      { 
       "name": "Category 1.1.2.1" 
      }, 
      { 
       "name": "Category 1.1.2.2" 
      }, 
      { 
       "name": "Category 1.1.2.3" 
      } 
      ] 
     } 
     ] 
    }, 
    { 
     "name": "Category 1.2", 
     "children": [ 
     { 
      "name": "Category 1.2.1" 
     }, 
     { 
      "name": "Category 1.2.2", 
      "children": [ 
      { 
       "name": "Category 1.2.2.1" 
      }, 
      { 
       "name": "Category 1.2.2.2" 
      } 
      ] 
     } 
     ] 
    } 
    ] 
} 
+0

を助けることを願っていますあなたがここにいくつかのコードスニップを置くことができることを挿入します後、我々は、json_decodeを使用してJSONをデコードする最初の –

答えて

0

PHPのjson_decode関数を使用してみてください、JSONを解析します。 http://php.net/manual/en/function.json-decode.php

データベースの種類を知らなくても、データベースに格納する方法について具体的な説明はできませんが、おそらくPHPのPDO(PHP Data Object)APIを使用してください。 (http://php.net/manual/en/book.pdo.php)データベースのシェルと同じように、クエリ/挿入/コマンドを準備し実行することができます。

0

我々はデータベースに、私はこれがあなたに

 <?php 

     $jsonFile="children.json"; 
     $jsondata = file_get_contents($jsonFile); 
     $data = json_decode($jsondata, true); 

     $array_data = $data['children']; 

    //your database connection here 
    $servername = "hostname"; 
    $username = "user"; 
    $password = "password"; 
    $dbname = "database"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
    } 
foreach ($array_data as $row) { 
$sql = "INSERT INTO mytable (name, ParentID) VALUES ('" . $row["name"] . "', '" . $row["ParentId"] . "')"; 
    $conn->query($sql); 
} 
    $conn->close(); 
    ?> 
関連する問題