Solución:
Equivalentes XSLT para JSON: una lista de candidatos (herramientas y especificaciones)
Instrumentos
1. XSLT
Puede usar XSLT para JSON con el objetivo de fn: json-to-xml.
Esta sección describe las funciones que permiten procesar datos JSON mediante XSLT.
2. jq
jq es como sed para datos JSON: puede usarlo para dividir, filtrar, mapear y transformar datos estructurados con la misma facilidad que sed, awk, grep y friends le permiten jugar con texto. Hay paquetes de instalación para diferentes sistemas operativos.
3. jj
JJ es una utilidad de línea de comandos que proporciona una forma rápida y sencilla de recuperar o actualizar valores de documentos JSON. Está impulsado por GJSON y SJSON debajo del capó.
4. fx
Herramienta de procesamiento JSON de línea de comandos – No es necesario aprender una nueva sintaxis – JavaScript simple – Formateo y resaltado – Binario independiente
5. jl
jl (“JSON lambda”) es un pequeño lenguaje funcional para consultar y manipular JSON.
6. JOLT
Biblioteca de transformación JSON a JSON escrita en Java donde la “especificación” para la transformación es en sí misma un documento JSON.
7. gron
¡Haga que JSON sea greppable! gron transforma JSON en asignaciones discretas para facilitar el grep de lo que desea y ver la “ruta” absoluta. Facilita la exploración de API que devuelven grandes blobs de JSON pero tienen una documentación terrible.
8. json-e
JSON-e es un sistema de parametrización de estructura de datos para incrustar contexto en objetos JSON. La idea central es tratar una estructura de datos como una “plantilla” y transformarla, utilizando otra estructura de datos como contexto, para producir una estructura de datos de salida.
9. JSLT
JSLT es un lenguaje completo de consulta y transformación para JSON. El diseño del lenguaje está inspirado en jq, XPath y XQuery.
10. JSONata
JSONata es un lenguaje ligero de consulta y transformación para datos JSON. Inspirado en la semántica de ‘ruta de ubicación’ de XPath 3.1, permite expresar consultas sofisticadas en una notación compacta e intuitiva.
11. JSONPath Plus
Analice, transforme y extraiga de forma selectiva datos de documentos JSON (y objetos JavaScript). jsonpath-plus amplía la especificación original para agregar algunos operadores adicionales y hace explícitos algunos comportamientos que el original no explicó.
12. transformaciones json Último compromiso 1 de diciembre de 2017
Proporciona un enfoque recursivo de coincidencia de patrones para transformar datos JSON. Las transformaciones se definen como un conjunto de reglas que coinciden con la estructura de un objeto JSON. Cuando se produce una coincidencia, la regla emite los datos transformados y, opcionalmente, recurre a la transformación de los objetos secundarios.
13. json Última confirmación Jun 23, 2018
json es una herramienta CLI rápida para trabajar con JSON. Es un script de node.js de un solo archivo sin departamentos externos (aparte del propio node.js).
14. jsawk Última confirmación 4 de marzo de 2015
Jsawk es como awk, pero para JSON. Trabaja con una matriz de objetos JSON leídos desde stdin, los filtra con JavaScript para producir una matriz de resultados que se imprime en stdout.
15. yate Último compromiso Mar 13, 2017
Las pruebas se pueden utilizar como docu https://github.com/pasaran/yate/tree/master/tests
16. jsonpath-object-transform Último compromiso Jan 18, 2017
Extrae datos de un objeto literal usando JSONPath y genera nuevos objetos basados en una plantilla.
17. Grapado Último compromiso Sep 16, 2013
El grapado es una biblioteca de JavaScript que habilita el formato XSLT para objetos JSON. En lugar de usar un motor de plantillas de JavaScript y plantillas de texto / html, Stapling le brinda la oportunidad de usar plantillas XSLT, cargadas de forma asíncrona con Ajax y luego almacenadas en caché del lado del cliente, para analizar sus fuentes de datos JSON.
Especificaciones:
- JsonPointer
JSON Pointer define una sintaxis de cadena para identificar un valor específico dentro de un documento de JavaScript Object Notation (JSON).
- JsonPath
Las expresiones JSONPath siempre se refieren a una estructura JSON de la misma manera que la expresión XPath se usa en combinación con un documento XML
- JSPath
JSPath para JSON es como XPath para XML “.
- JSONiq
La principal fuente de inspiración detrás de JSONiq es XQuery, que hasta ahora ha demostrado ser un lenguaje de consulta exitoso y productivo para datos semiestructurados.
Idea interesante. Algunas búsquedas en Google produjeron algunas páginas de interés, que incluyen:
- un resumen de cómo se podría implementar dicha herramienta “jsonT” y algunas descargas
- alguna discusión de esa implementación
- una empresa que puede haber implementado algo adecuado
Espero que esto ayude.
Prueba JOLT. Es una biblioteca de transformación JSON a JSON escrita en Java.
Fue creado específicamente porque no queríamos jugar el juego “JSON -> XML -> XSLT -> XML -> JSON”, y el uso de una plantilla para cualquier transformación suficientemente compleja es inmanejable.