2017-02-21 15 views
0

jsonファイルからデータを取得して解析し、そのデータをデータベースに追加しようとしています。私はデータベース、オラクルとして使用しています。 私はエラーを取得しています:JSONファイルからのデータをPHPで取得する

enter image description here

これは私のJSONファイルである

{ 
"data": { 
    "gps": [ 
     { "location": "45.778123,24.151165"  
     }, 
     { "location": "45.7875116,24.1549801"    
     } 
    ] 
} 

これは

<?php 
     $file = 'JSONdata.json'; 
     $json = file_get_contents($file,0,null,null); 
     $obj = json_decode($json,true); 
     $data = $obj->data->gps; 

     include 'connection.php'; 

     function insert_data($connname, $conn) 
     { 
      foreach ($data as $post) { 
      $stmt = oci_parse($conn, "insert into GPSLOGS 
        values('".$post->location."')"); 
      oci_execute($stmt, OCI_DEFAULT); 
      echo "$connname inserted row without committing<br>\n"; 
      } 
     } 

     insert_data('c1', $conn); 
    ?> 

私のPHPファイルであるあなたは私が何を知っていますか間違っている?なぜそれらのエラーが発生するのですか? 別の形式のJSONファイルを使用して別の構文解析を試みましたが、同じエラーが発生し続けます。アレイの形で

.json 
     [{ "gps": "45.778123,24.151165"},{"gps": "45.7875116,24.1549801"}] 

.php 
    $file = 'JSONdata.json'; 
    $json = file_get_contents($file,0,null,null); 
    $obj = json_decode($json,true);  
     foreach($obj as $item) 
     {  echo $item['gps'];} 

答えて

2
$obj = json_decode($json,true); 
$data = $obj->data->gps; 

戻りデータが、オブジェクトではありません。 jsonデコードから2番目の引数を取り除くと、すべてがうまくいくはずです。

それ

$obj = json_decode($json); 
$data = $obj->data->gps; 
+0

はありがとうございます。出来た –

関連する問題