Convertir array en JSON

Convertir array en JSON

Javascript, PHP, Python

Como programador seguramente alguna vez has necesitado utilizar un fichero JSON para el intercambio de datos.

Sobre JSON

JSON ( en inglés: JavaScript Object Notation – en español:Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos.

Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo.

Está basado en un subconjunto del Lenguaje de Programación JavaScript, Standard ECMA-262 3rd Edition – Diciembre 1999.

JSON es un formato de texto que es completamente independiente del lenguaje pero utiliza convenciones que son ampliamente conocidos por los programadores de la familia de lenguajes C, incluyendo C, C++, C#, Java, JavaScript, Perl, Python, y muchos otros. Estas propiedades hacen que JSON sea un lenguaje ideal para el intercambio de datos.

JSON está constituído por dos estructuras:

  • Una colección de pares de nombre/valor. En varios lenguajes esto es conocido como un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un arreglo asociativo.
  • Una lista ordenada de valores. En la mayoría de los lenguajes, esto se implementa como arreglos, vectores, listas o secuencias.

Convertir array de PYTHON en JSON

Para convertir un diccionario de Python a JSON lo podemos hacer del siguiente modo:

import json

# The dictionary
data = {
	"gests":[
		{
			"id": 1,
			"name": 'Anthony',
			"age": 22
		},
		{
				"id": 2,
				"name": 'Mark',
				"age": 25
		}
	]
}

# Convert to JSON
data = json.dumps(data, indent = 2)

# Open text file
text_file = open("python_data.json", "w")
 
# Write json to file
text_file.write(data)
 
# Close file
text_file.close()

El resultado, en lugar de mostrarlo por pantalla, lo exportaremos a un fichero llamado python_data.json e indentado con 2 tabulaciones.

Convertir array de PHP en JSON

De la siguiente forma convertiremos un array de PHP en formato JSON y crearemos un fichero llamado php_data.json. Además utilizaremos JSON_PRETTY_PRINT para que el contenido en el fichero aparezca indentado correctamente.

<?php

$data = array(
	"gests" => array(
		[
			"id"=> 1,
			"name"=> 'Anthony',
			"age"=> 22
		],
		[
			"id"=> 2,
			"name"=> 'Mark',
			"age"=> 25
		]
	)
);

file_put_contents("php_data.json", json_encode($data, JSON_PRETTY_PRINT));

?>

Convertir array de JavaScript en JSON

En este ejemplo vamos a convertir un array de JavaScript a formato JSON.

var data = {
	"gests":[
	{
		"id": 1,
		"name": 'Anthony',
		"age": 22
	},
	{
		"id": 2,
		"name": 'Mark',
		"age": 25
	}
	]
};

// Convert array in pretty JSON
var json_content = JSON.stringify(data, null, 2);

// Create link elemento to force JSON file download
var link = document.createElement("a");
var file = new Blob([json_content], {type: 'JSON'});
link.href = URL.createObjectURL(file);
link.download = "js_data.json";
link.click();

El contenido será exportado en un fichero llamado js_data.json mediante la creación de un elemento <a> de HTML.

Leave a reply