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:
- 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);
- 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');
- Método fclose(): Se utiliza para cerrar el archivo.
Sintaxis:
fclose( $file_pointer );
Ejemplo:
fclose( $file_pointer );
- Método fputcsv(): se utiliza para colocar los datos en un archivo CSV.
Sintaxis:
fputcsv( file, fields )
Ejemplo:
fputcsv( $file_pointer, $i );
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