¿Qué es Squiggly?

Squiggly es una librería que se instala como plugin en Jackson y permite dinámicamente filtrar las propiedades que se devuelven dudrante una serialización.

Un uso común sería en un API REST para que el API sólo te devolviese un conjunto de propiedades:

Seguir leyendo “¿Qué es Squiggly?”

Soporte JSON en Java EE 8

En esta presentación, Dmitry Kornilov nos explica las novedades en Java EE 8 en el soporte a JSON:

¿Qué es JSONassert?

JSONAssert es una pequeña librería Java que permite escribir Tests que trabajan con JSONs como si fueran Strings…para esto JSONAsseert convierte las cadenas en un objeto JSON y lo compara.

Se entiende mejor con un ejemplo:

Otra utilidad muy interesante de la librería es que muestra mensajes de error significativos, por ejemplo para:

Nos devolverá:

Para usarlo basta con usar esta dependencia:

¿Cómo sacar trazas de log en JSON en Apache y en NGINX?

Muy interesante este post de para todos los que ya vemos el JSON como el único formato! 🙂

En Apache2 es muy fácil pasar del formato por defecto

A un formato JSON como este:

Basta con editar el apache2.conf añadiendo esta línea

LogFormat "{ "time":"%t", "remoteIP":"%a", "host":"%V", "request":"%U", "query":"%q", "method":"%m", "status":"%>s", "userAgent":"%{User-agent}i", "referer":"%{Referer}i" }" leapache

en el área LogFormat:

Y luego en el default.conf referenciar al leapache:

En NGINX es aún más sencillo.

Editamos el fichero nginx.conf:

log_format le_json '{ "time": "$time_iso8601", '
 '"remote_addr": "$remote_addr", '
 '"remote_user": "$remote_user", '
 '"body_bytes_sent": "$body_bytes_sent", '
 '"request_time": "$request_time", '
 '"status": "$status", '
 '"request": "$request", '
 '"request_method": "$request_method", '
 '"http_referrer": "$http_referer", '
 '"http_user_agent": "$http_user_agent" }';
 
 access_log /var/log/nginx/access.log le_json;

Y ya traceamos en JSON.

MySQL 5.7 introduce el tipo de dato JSON (por fin!!!)

La versión 3.7 de MySQL por fin permite definir columnas de tipo JSON (como ya hacían Postgresql u Oracle):

El tipo de datos se define así:

ALTER TABLE people ADD COLUMN (tags json);

Se puede consultar:

SELECT name, tags FROM people LIMIT 5;

Y nos devuelve:

Permite también trabajar de forma sencilla con arrays, JSON_SET(), JSON_ARRAY_APPEND() y JSON_SEARCH():

SELECT name, tags from people WHERE JSON_SEARCH(tags, 'one', 'Lorem') IS NOT NULL;

O

UPDATE people SET profile = JSON_SET(profile, "$.first_aid", true) WHERE id = 3;

O

SELECT name, profile->"$.direct_reports" reports, profile->"$.salary" salary FROM people WHERE profile->"$.direct_reports" >= 10;

Leer más

Elide: Generando API REST desde Entidades JPA

Elide es una librería Java open-source que permite crear de una forma muy sencilla un JSON REST API a partir de un modelo de datos JPA en base a unas anotaciones.

Elide incluye:

  1. Acceso a entidades JPA
  2. Patch Extension Elide soporta JSON API Patch extension allowing multiple create, edit, and delete operations in a single request.
  3. Atomic Requests
  4. Autorizaciones
  5. Auditoría
  6. Extensiones
  7. Client API en Javascript

Aquí podéis ver un ejemplo de cómo usarlo.

JSON-LD y su importancia en la Web Semántica

Hace más de un año que publicamos este post sobre JSON-LD:

Aunque lentamente JSON-LD se está haciendo un hueco en el ámbito de la Web Semántica como una forma de incorporar RDF bajo una forma mucho más ligera y adecuada a las tecnologías y lenguajes actuales:

Javascript

Python

PHP

Ruby

Java

C#

Go

Leer más