Introducción
JSON( JavaScript Object Notation) es un formato ligero de intercambio de datos. Leer y escribir resulta simple para los humanos, mientras que para las máquinas es simple interpretarlo y generarlo. JSON es un formato de texto que es completamente independiente del lenguaje. JSON se ha convertido en un lenguaje ideal para el intercambio de datos. Está constituido 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.
Representación
En JSON, se presentan de estas formas:
Un objeto es un conjunto desordenado de pares nombre/valor. Un objeto comienza con { (llave de apertura) y termine con } (llave de cierre). Cada nombre es seguido por : (dos puntos) y los pares nombre/valor están separados por , (coma).
Un arreglo es una colección de valores. Un arreglo comienza con [ (corchete izquierdo) y termina con ] (corchete derecho). Los valores se separan por , (coma).
Un valor puede ser una cadena de caracteres con comillas dobles, o un número, o true o false o null, o un objeto o un arreglo.
JSON Schema permite validar una estructura de datos JSON, JSON API para estandarizar las solicitudes y respuestas de una API, Compositor para configurar las dependencias de un proyecto PHP, GeoJSON para estandarizar la codificación datos geográficos. JSON Resume para elaborar hojas de vida.
JSON Resume
Es un estándar de almacenamiento estructurado JSON de toda la información que puede encontrar en una hoja de vida o curriculum vitae. Se puede tener varias versiones con GitHub.
Ejemplo
Representación con el esquema JSON del ejemplo:
RESUME.JSON
{
"basics": {
"name": "John Doe",
"label": "Programmer",
"picture": "",
"email": "john@gmail.com",
"phone": "(912) 555-4321",
"website": "http://johndoe.com",
"summary": "A summary of John Doe...",
"location": {
"address": "2712 Broadway St",
"postalCode": "CA 94115",
"city": "San Francisco",
"countryCode": "US",
"region": "California"
},
"profiles": [{
"network": "Twitter",
"username": "john",
"url": "http://twitter.com/john"
}]
},
"work": [{
"company": "Company",
"position": "President",
"website": "http://company.com",
"startDate": "2013-01-01",
"endDate": "2014-01-01",
"summary": "Description...",
"highlights": [
"Started the company"
]
}],
"volunteer": [{
"organization": "Organization",
"position": "Volunteer",
"website": "http://organization.com/",
"startDate": "2012-01-01",
"endDate": "2013-01-01",
"summary": "Description...",
"highlights": [
"Awarded 'Volunteer of the Month'"
]
}],
"education": [{
"institution": "University",
"area": "Software Development",
"studyType": "Bachelor",
"startDate": "2011-01-01",
"endDate": "2013-01-01",
"gpa": "4.0",
"courses": [
"DB1101 - Basic SQL"
]
}],
"awards": [{
"title": "Award",
"date": "2014-11-01",
"awarder": "Company",
"summary": "There is no spoon."
}],
"publications": [{
"name": "Publication",
"publisher": "Company",
"releaseDate": "2014-10-01",
"website": "http://publication.com",
"summary": "Description..."
}],
"skills": [{
"name": "Web Development",
"level": "Master",
"keywords": [
"HTML",
"CSS",
"Javascript"
]
}],
"languages": [{
"name": "English",
"level": "Native speaker"
}],
"interests": [{
"name": "Wildlife",
"keywords": [
"Ferrets",
"Unicorns"
]
}],
"references": [{
"name": "Jane Doe",
"reference": "Reference..."
}]
}
Si se desea ejecutar en Windows se debería instalar el Node.js y el npm además es necesario instalar git.
La instalación de la primera herramienta es con el comando:
npm install -g resume-cli
En caso de generar un error, por lo general se soluciona instalando git.
El comando para exportar con la primera herramienta a html:
resume export --format html --theme spartan resume.html
El comando para exportar con la primera herramienta a pdf:
resume export --format pdf --theme spartan resume.pdf
Como se indicó antes si no se genera el archivo pdf primero se instala la segunda herramienta node para la conversión de html a pdf con el comando:
npm install -g html-pdf
Luego se convierte el archivo html generado anteriormente a pdf con el comando:
html-pdf resume.html resume.pdf
Para usar algunos temas es necesario primero instalarlos con el comando:
npm install -g jsonresume-theme-nombredeltema
Por ejemplo para instalar el tema stackoverflow se usaría el comando:
npm install -g jsonresume-theme-stackoverflow
Referencia