validator tutorial example esquema espaƱol crear json jsonschema

tutorial - Herramienta para generar el esquema JSON a partir de datos JSON



json schema validator java (13)

Al ver que esta pregunta está recibiendo algunos upvotes, agrego nueva información (no estoy seguro de si esto es nuevo, pero no pude encontrarlo en ese momento)

Tenemos este draft esquema json. Me gustaría obtener una muestra de mis datos JSON y generar un esqueleto para el esquema JSON, que pueda volver a trabajar de forma manual, agregando cosas como descripción, requerida, etc., que no se pueden deducir de los ejemplos específicos.

Por ejemplo, desde mi ejemplo de example.json :

{ "foo": "lorem", "bar": "ipsum" }

Diría mi herramienta json_schema_generator y obtendría:

{ "foo": { "type" : "string", "required" : true, "description" : "unknown" }, "bar": { "type" : "string", "required" : true, "description" : "unknown" } }

Este ejemplo ha sido codificado manualmente, por lo que tiene quizás errores. ¿Hay alguna herramienta que pueda ayudarme con el esquema de conversión JSON -> JSON?


Después de varios meses, la mejor respuesta que tengo es mi herramienta simple. Es crudo pero funcional.

Lo que quiero es algo similar a https://github.com/gonvaled/jskemator . Los datos JSON pueden proporcionar un esqueleto para el esquema JSON. No lo he implementado todavía, pero debería ser posible dar un esquema JSON existente como base, para que el esquema JSON existente más los datos JSON puedan generar un esquema JSON actualizado. Si no se da ese esquema como entrada, se toman valores completamente predeterminados.

Esto sería muy útil en el desarrollo iterativo: la primera vez que se ejecuta la herramienta, el esquema JSON es ficticio, pero puede refinarse automáticamente según la evolución de los datos.


Es posible que esté buscando esto:

http://www.jsonschema.net

Es una herramienta en línea que puede generar automáticamente el esquema JSON a partir de la cadena JSON. Y puede editar el esquema fácilmente.


GenSON ( PyPI | Github ) es un nuevo generador de esquema JSON que puede generar un único esquema a partir de múltiples objetos. También puede combinar esquemas con él. Está escrito en Python y viene con una herramienta CLI.

(Divulgación completa: soy el autor)



Hay una herramienta nodejs que admite json schema v4 en https://github.com/krg7880/json-schema-generator

Funciona como una herramienta de línea de comandos o como una biblioteca nodejs:

var jsonSchemaGenerator = require(''json-schema-generator''), obj = { some: { object: true } }, schemaObj; schemaObj = jsonSchemaGenerator(json);


Para las herramientas fuera de línea que admiten entradas múltiples, lo mejor que he visto hasta ahora es Github Me gustaría ver una herramienta que tome los nombres de archivo en la entrada estándar porque tengo miles de archivos . Sin embargo, me quedo sin descriptores de archivos abiertos, así que asegúrese de que los archivos estén cerrados . También me gustaría ver generadores JSON Schema que manejen la recursión. Ahora estoy trabajando en la generación de clases Java desde objetos JSON con la esperanza de ir al esquema JSON de mis clases de Java. Aquí está mi script GenSON si tiene curiosidad o quiere identificar errores en él.

#!/bin/sh ulimit -n 4096 rm x3d*json cat /dev/null > x3d.json find ~/Downloads/www.web3d.org/x3d/content/examples -name ''*json'' - print| xargs node goodJSON.js | xargs python bin/genson.py -i 2 -s x3d.json >> x3d.json split -p ''^{'' x3d.json x3d.json python bin/genson.py -i 2 -s x3d.jsonaa -s x3d.jsonab /Users/johncarlson/Downloads/www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter02-GeometryPrimitives/Box.json > x3dmerge.json



Resumiendo las otras respuestas, aquí están los generadores de esquema JSON propuestos hasta ahora:

En línea:

Pitón:

NodeJS:

Rubí:


Se mencionan muchas herramientas, pero una más se llama JSON Schema inferencer para el registro:

https://github.com/rnd0101/json_schema_inferencer

(no es una biblioteca o un producto, sino un script de Python)

Con la Divulgación completa habitual: soy el autor.



https://github.com/maxlinc/json-schema-generator es un generador de esquemas JSON basado en Ruby. Admite los borradores 3 y 4 del esquema JSON. Se puede ejecutar como un ejecutable independiente, o se puede incrustar dentro de un script de Ruby.

Luego puede usar json-schema para validar muestras JSON contra su esquema recién generado si lo desea.


generate-schema ( NPM | https://github.com/Nijikokun/generate-schema ) toma un objeto JSON genera esquemas a partir de él, una salida es esquema JSON, está escrita en Node.js y viene con una herramienta REPL y ClI para canalizar archivos.

Divulgación completa: soy el autor :)