programing

JSON 데이터에서 JSON 스키마를 생성하는 도구

madecode 2023. 4. 1. 23:20
반응형

JSON 데이터에서 JSON 스키마를 생성하는 도구

이 json 스키마 초안이 있습니다.JSON 데이터의 샘플을 입수해, JSON 스키마의 골격을 생성하고 싶다.수동으로 재작업할 수 있고, 구체적인 예에서는 얻을 수 없는 description, required 등을 추가하고 싶다.

를 들어, 제 를를 my my my for for for 。example.json:

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

json_schema_generator 툴을 실행하면 다음과 같이 됩니다.

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

이 예는 수동으로 코딩되었기 때문에 오류가 있을 수 있습니다.JSON -> JSON 스키마 변환에 도움이 되는 툴이 있습니까?

기타 답변을 요약하면 지금까지 제안된 JSON 스키마 생성기는 다음과 같습니다.

온라인:

  • https://www.liquid-technologies.com/online-json-to-schema-converter (1 입력)
  • http://www.jsonschema.net (1 입력)
  • https://easy-json-schema.github.io (1 입력)

Python:

  • https://github.com/gonvaled/jskemator (1개의 입력이지만 반복 가능)
  • https://github.com/perenecabuto/json_schema_generator (1 입력)
  • https://github.com/rnd0101/json_schema_inferencer (1개 입력)
  • https://pypi.python.org/pypi/genson/ (입력 정보 표시)
  • https://pypi.python.org/pypi/skinfer (입력 정보 표시)

노드 J:

  • https://github.com/Nijikokun/generate-schema (오브젝트 어레이 전달)
  • https://github.com/easy-json-schema/easy-json-schema (1 입력)
  • https://github.com/aspecto-io/genson-js (입력 정보 표시)

루비:

  • https://github.com/maxlinc/json-schema-generator (1 입력)

다음과 같은 경우가 있습니다.

http://www.jsonschema.net

JSON 문자열에서 JSON 스키마를 자동으로 생성할 수 있는 온라인 도구입니다.스키마를 쉽게 편집할 수 있습니다.

GenSON(PyPI | Github)은 여러 개체에서 단일 스키마를 생성할 수 있는 JSON 스키마 생성기입니다.스키마를 병합할 수도 있습니다.Python으로 작성되어 있으며 CLI 툴이 포함되어 있습니다.

(완전 공개:제가 작가입니다.)

이 질문의 유효성이 높아졌기 때문에 새로운 정보를 추가합니다(신규인지 모르겠지만 당시에는 찾을 수 없었습니다).

몇 달 후, 가장 좋은 답은 간단한 도구입니다.생으로 되어 있지만 기능적입니다.

내가 원하는 것은 이것과 비슷한 것이다.JSON 데이터는 JSON 스키마의 골격을 제공할 수 있습니다.아직 구현하지 않았지만 기존 JSON 스키마와 JSON 데이터로 업데이트된 JSON 스키마를 생성할 수 있도록 기존 JSON 스키마를 기본으로 제공할 수 있어야 합니다.이러한 스키마가 입력으로 지정되지 않은 경우 완전히 기본값이 사용됩니다.

이것은 반복적인 개발에서 매우 유용합니다. 도구를 처음 실행할 때 JSON 스키마는 더미이지만 데이터의 진화에 따라 자동으로 개선될 수 있습니다.

특정 JSON의 JSON Schema를 생성하는 python 툴이 있습니다.https://github.com/perenecabuto/json_schema_generator

generate-schema(NPM | Github)는 JSON 오브젝트가 스키마를 생성하며, 1개의 출력은 JSON 스키마이며, Node.js로 작성되며, 파일을 파이프하기 위한 REP 및 CLI 툴이 포함되어 있습니다.

완전 공개:저는 저자입니다:)

https://github.com/krg7880/json-schema-generator에서 json 스키마 v4를 지원하는 nodejs 툴이 있습니다.

명령줄 도구 또는 nodejs 라이브러리로 작동합니다.

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

schemaObj = jsonSchemaGenerator(json);

json-schema-generator는 깔끔한 Ruby 기반의 JSON 스키마 생성기입니다.JSON 스키마의 드래프트3과 4를 모두 지원합니다.독립 실행형 실행 파일로 실행하거나 Ruby 스크립트에 포함시킬 수 있습니다.

그런 다음 필요에 따라 json-schema를 사용하여 새로 생성된 스키마에 대해 JSON 샘플을 검증할 수 있습니다.

여러 입력을 지원하는 오프라인 툴의 경우 지금까지 본 것 중 가장 좋은 것은 https://github.com/wolverdude/GenSON/입니다. 수천 개의 파일이 있기 때문에 표준 입력에 파일 이름을 사용하는 툴을 보고 싶습니다.다만, 열려 있는 파일의 기술자가 부족하기 때문에, 파일이 닫혀 있는 을 확인해 주세요.재귀를 처리하는 JSON Schema 생성기도 보고 싶습니다.JSON 오브젝트에서 Java 클래스를 생성하는 작업을 하고 있으며, Java 클래스에서 JSON Schema로 가고 싶습니다.궁금하신 점이나 버그를 특정하고 싶은 점 등이 있는 GenSON 스크립트입니다.

#!/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 

많은 툴이 언급되어 있습니다만, 레코드의 JSON Schema inferencer라고 불리는 툴이 하나 더 있습니다.

https://github.com/rnd0101/json_schema_inferencer

(라이브러리나 제품이 아니라 Python 스크립트)

통상적인 완전 공개:나는 작가다.

node.js > 6.0.0에는 json-schema-by-example 모듈도 있습니다.

언급URL : https://stackoverflow.com/questions/7341537/tool-to-generate-json-schema-from-json-data

반응형