php使用嵌套对象将CSV转换为JSON

时间:2014-02-09 18:08:03

标签: php json

我有这样的csv文件:

data,IF,VVS1,VVS2
D,23,17,15
E,17,15,14

我需要的是将此CSV转换为JSON,但看起来像这样:

{“D”:{“IF”:“23”,“VVS1”:“17”,“VVS2”:“15”},“E”:{“IF”:“17”,“VVS1” :“15”,“VVS2”:“14”}}

任何帮助?

2 个答案:

答案 0 :(得分:2)

也许可以帮助你,但我建议添加错误处理。

<?php

$file = fopen('test.csv', 'r');

$header = fgetcsv($file);
array_shift($header);

$data = array();

while ($row = fgetcsv($file))
{
  $key = array_shift($row);

  $data[$key] = array_combine($header, $row);
}

echo json_encode($data);

fclose($file);

答案 1 :(得分:1)

/ *假设,csv文件是mydata.scv * /

<?php
 $mydata = array();

 if($file = fopen("mydata.csv","r")){
   $csvheaders = fgetcsv($file);
   while(($row = fgetcsv($file)) !== FALSE){
     $arr = array();
     for($i=1; $i<count($csvheaders); $i++){
      $arr[$csvheaders[$i]] = $row[$i];
     } 
     $mydata[$row[0]] = $arr;
    }
  fclose($file);
  // encode $mydata array into json to get result in the required format
  $mydatainformat = json_encode($mydata);
  echo $mydatainformat; // This is your output.
 }
?>