📜  如何在PHP中将 JSON 文件转换为 CSV?

📅  最后修改于: 2022-05-13 01:56:44.951000             🧑  作者: Mango

如何在PHP中将 JSON 文件转换为 CSV?

在本文中,我们将了解如何使用PHP将 JSON 数据转换为 CSV 文件。

JSON(JavaScript Object Notation)是一种类似于字典的表示法,可用于结构化数据。它以扩展名 .json 存储,例如 – geeksforgeeks.json

另一方面,CSV(或逗号分隔值)文件以表格格式表示数据,具有多行和多列。 CSV 文件的一个示例可以是 Excel 电子表格。这些文件的扩展名为 .csv,例如 – geeksforgeeks.csv。

要求: XAMPP 服务器

JSON的结构:

[{
    "data1": "value1", 
    "data2": "value2", 
    ..., 
    "data n": "value n"
}]

例子:

[{
    "student": "sravan kumar",
    "age": 22,
    "subject": "java"
}]

使用方法:

  1. json_decode() 方法:该函数用于将 JSON 对象解码或转换为PHP对象。

    句法:

    json_decode( string, assoc )
    
    
    Example:
    
    
    $jsondata = '[{
        "student": "sravan kumar",
        "age": 22,
        "subject": "java"
    },
    {
        "student": "ojaswi",
        "age": 21,
        "subject": "java"
    },
    { 
        "student": "rohith",
        "age": 22,
        "subject": "dbms"
    },
    {
        "student": "bobby",
        "age": 22,
        "subject": "sql"
    }]';
    
    // Decode the json data and convert it
    // into an associative array
    $jsonans = json_decode($jsondata, true);
    
  2. fopen() 方法:用于打开文件。

    句法:

    fopen( filename, file_mode )

    例子:

    // File pointer in writable mode
    $file_pointer = fopen($csv, 'w');
    
  3. fclose() 方法:用于关闭文件。

    句法:

    fclose( $file_pointer );

    例子:

    fclose( $file_pointer );
  4. fputcsv() 方法:用于将数据放入 CSV 文件。

    句法:

    fputcsv( file, fields )

    例子:

    fputcsv( $file_pointer, $i );

      运行步骤:

    • 启动 XAMPP 服务器

    • 打开记事本,在json 中输入以下代码。 PHP并将其放在htdocs文件夹下。

    PHP代码:

    PHP
     geeks.csv
    $csv = 'geeks.csv';
       
    // File pointer in writable mode
    $file_pointer = fopen($csv, 'w');
       
    // Traverse through the associative
    // array using for each loop
    foreach($jsonans as $i){
          
        // Write the data to the CSV file
        fputcsv($file_pointer, $i);
    }
       
    // Close the file pointer.
    fclose($file_pointer);
      
    ?>


    输出:输入localhost/json。在您的浏览器中PHP 。您可以看到 CSV 文件已创建,文件名为geeks.csv