1

CSVファイルをJSONファイルにエクスポートしたいのですが、レコメンドフィールドの値を読み込んでJSONファイルに書き込む必要があります。例: IN 行 1,recomnend =2 は、id=2 の行を読み取り、次の値の JSON ファイルに出力します: id,product_id,title.

$json = array();

        $json['id'] = $row['id'];
        $json['product_id'] = $row['product_id'];
        $json['title'] = $row['title'];
        $json['outline'] = $row['outline'];
        $recom[] = $json;  
print json_encode($recom);

http://ns0.upanh.com/b6.s33.d3/3a3ebb93a87c5703f673b399d5613ec2_50639320.untitled.png

4

1 に答える 1

1

別の方法はわかりませんが、次の方法でうまくいきます。このメソッドを使用すると、列の名前ではなく、列のインデックスを使用する必要があります。必要な値の列インデックスがわかっている場合、これは問題になりませんが、次のことを言及したいと思いました。

$fp = fopen('test.csv','r') or die("**! can't open file\n\n");
while($csv_line = fgetcsv($fp,1024)) {
    $id = $csv_line[0];
    $product_id = $csv_line[1];
    $title = $csv_line[2];
    $outline = $csv_line[3];        
}
fclose($fp) or die("**! can't close file\n\n");

複数の行があるため、次のようにして 1 つの JSON オブジェクトに保存することをお勧めします。

$fp = fopen('test.csv','r') or die("**! can't open file\n\n");
$i = 0;
while($csv_line = fgetcsv($fp,1024)) {
    $i++;
    $json['json_'.$i]['id'] = $csv_line[0];
    $json['json_'.$i]['product_id'] = $csv_line[1];
    $json['json_'.$i]['title'] = $csv_line[2];
    $json['json_'.$i]['outline'] = $csv_line[3];        
}
$json['total_lines'] = $i;
print json_encode($json);
fclose($fp) or die("**! can't close file\n\n");

このメソッドを使用すると、各行をサブ JSON オブジェクトとして保存できるため、合計数を取得し、オブジェクトを解析して行を引き出すことができます。

于 2012-11-07T04:18:11.817 に答える