¿Cómo convertir un archivo JSON a CSV en PHP?

En este artículo, veremos cómo convertir datos JSON en un archivo CSV usando PHP.

JSON (Notación de objetos de JavaScript) es una notación similar a un diccionario que se puede usar para estructurar datos. Se almacena con la extensión .json, por ejemplo – geeksforgeeks.json

Por otro lado, los archivos CSV (o de valores separados por comas) representan datos en formato tabular, con varias filas y columnas. Un ejemplo de un archivo CSV puede ser una hoja de cálculo de Excel. Estos archivos tienen la extensión .csv, por ejemplo, geeksforgeeks.csv.

Requisitos: Servidor XAMPP

Estructura de JSON:

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

Ejemplo:

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

Métodos utilizados:

  1. Método json_decode(): esta función se utiliza para decodificar o convertir un objeto JSON en un objeto PHP.

    Sintaxis:

    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. Método fopen(): Se utiliza para abrir un archivo.

    Sintaxis:

    fopen( filename, file_mode )

    Ejemplo:

    // File pointer in writable mode
    $file_pointer = fopen($csv, 'w');
    
  3. Método fclose(): Se utiliza para cerrar el archivo.

    Sintaxis:

    fclose( $file_pointer );

    Ejemplo:

    fclose( $file_pointer );
  4. Método fputcsv(): se utiliza para colocar los datos en un archivo CSV.

    Sintaxis:

    fputcsv( file, fields )

    Ejemplo:

    fputcsv( $file_pointer, $i );
    1. Pasos para ejecutar:

  • Iniciar servidor XAMPP

  • Abra el bloc de notas y escriba el siguiente código en json.php y colóquelo en la carpeta htdocs .

código PHP:

PHP

<?php
   
// Student JSON data
$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 json data and convert it
// into an associative array
$jsonans = json_decode($jsondata, true);
   
// CSV file name => 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);
  
?>

Salida: escriba localhost/json.php en su navegador. Puede ver que el archivo CSV se crea con el nombre de archivo geeks.csv

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *