{"id":17823814,"url":"https://github.com/andersdjohnson/jackson-json-reference","last_synced_at":"2025-03-18T16:30:43.560Z","repository":{"id":21560912,"uuid":"24880683","full_name":"AndersDJohnson/jackson-json-reference","owner":"AndersDJohnson","description":"JSON Reference for Java with Jackson.","archived":false,"fork":false,"pushed_at":"2023-06-13T22:51:43.000Z","size":145,"stargazers_count":21,"open_issues_count":18,"forks_count":15,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T10:50:53.773Z","etag":null,"topics":["jackson","java","json","json-pointer","json-reference","json-schema"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndersDJohnson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"AndersDJohnson"}},"created_at":"2014-10-07T07:22:51.000Z","updated_at":"2023-03-23T21:03:52.000Z","dependencies_parsed_at":"2024-10-27T18:23:43.527Z","dependency_job_id":"d3990fa4-bf5a-4e36-b953-be4400d7f03e","html_url":"https://github.com/AndersDJohnson/jackson-json-reference","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndersDJohnson%2Fjackson-json-reference","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndersDJohnson%2Fjackson-json-reference/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndersDJohnson%2Fjackson-json-reference/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndersDJohnson%2Fjackson-json-reference/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndersDJohnson","download_url":"https://codeload.github.com/AndersDJohnson/jackson-json-reference/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243940088,"owners_count":20372045,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jackson","java","json","json-pointer","json-reference","json-schema"],"created_at":"2024-10-27T17:59:33.163Z","updated_at":"2025-03-18T16:30:43.219Z","avatar_url":"https://github.com/AndersDJohnson.png","language":"Java","funding_links":["https://github.com/sponsors/AndersDJohnson"],"categories":[],"sub_categories":[],"readme":"jackson-json-reference\n==============\n\n\u003e WARNING! Not being actively maintained.\n\nParent:\n[![Build Status](https://travis-ci.org/AndersDJohnson/jackson-json-reference.png)](https://travis-ci.org/AndersDJohnson/jackson-json-reference)\n[![Codecov](https://img.shields.io/codecov/c/github/AndersDJohnson/jackson-json-reference.svg)](http://codecov.io/github/AndersDJohnson/jackson-json-reference)\n\n* Core:\u0026nbsp;[![Download Core](https://img.shields.io/maven-central/v/me.andrz.jackson/jackson-json-reference-core.svg) ][download]\n* CLI:\u0026nbsp;\u0026nbsp;\u0026nbsp;[![Download CLI](https://img.shields.io/maven-central/v/me.andrz.jackson/jackson-json-reference-cli.svg) ][download-cli]\n\n[JSON Reference] implementation for Java, based on [Jackson]. Process references in JSON documents, such as in [JSON Schema]. Aims for but not limited to full [spec](#specs) compliance.\n\n## Features\n\n* Supports URLs \u0026 files.\n* Relative \u0026 absolute reference URIs.\n* Recursive expansion, with options for max depth and stop on circularity.\n* Custom object mappers, allowing Jackson features like JSON comments, YAML, etc.\n* Built-in support for YAML based on file extension detection.\n\n## Specs\n\n* [JSON Reference]\u0026nbsp;([extended by JSON Schema][JSON Reference Extended])\n* [JSON Pointer]\n* [JSON Schema]\u0026nbsp;([spec][JSON Schema Spec])\n\n## Usage\n\n### File\n```java\nFile file = new File(\"src/test/resources/nest.json\");\nJsonNode node = (new JsonReferenceProcessor()).process(file);\n```\n\n### URL\n```java\nURL url = new URL(\"http://json-schema.org/schema\");\nJsonNode node = (new JsonReferenceProcessor()).process(url);\n```\n\n### Settings\n```java\nJsonReferenceProcessor processor = new JsonReferenceProcessor();\n\nprocessor.setStopOnCircular(false); // default true\n\nprocessor.setMaxDepth(2); // default 1, or set to -1 for no max depth\n\n// Custom object mapper allowing comments.\nprocessor.setMapperFactory(new ObjectMapperFactory() {\n   @Override\n   public ObjectMapper create(URL url) {\n       //ObjectMapper objectMapper = DefaultObjectMapperFactory.instance.create(url);\n       ObjectMapper objectMapper = new ObjectMapper();\n       objectMapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);\n       return objectMapper;\n   }\n});\n\nJsonNode node = processor.process( /*...*/ );\n```\n\n### Output\n```java\nObjectMapper mapper = new ObjectMapper();\nmapper.writeValue(new File(\"out.json\"), node);\n```\n\n\n## Install\n\n### Maven\n\n```xml\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eme.andrz.jackson\u003c/groupId\u003e\n        \u003cartifactId\u003ejackson-json-reference-core\u003c/artifactId\u003e\n        \u003cversion\u003e0.3.2\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\n### Gradle\n\n```gradle\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    compile 'me.andrz.jackson:jackson-json-reference-core:0.3.2'\n}\n```\n\n### Manual\n\nDownload JAR(s) from Maven Central:\n* Core:\u0026nbsp;[![Download Core](https://img.shields.io/maven-central/v/me.andrz.jackson/jackson-json-reference-core.svg) ][download]\n* CLI:\u0026nbsp;\u0026nbsp;\u0026nbsp;[![Download CLI](https://img.shields.io/maven-central/v/me.andrz.jackson/jackson-json-reference-cli.svg) ][download-cli]\n\n## License\n\nSee [LICENSE](LICENSE).\n\n## Development\n\n### Publishing\n\n* http://central.sonatype.org/pages/ossrh-guide.html\n* http://central.sonatype.org/pages/apache-maven.html#performing-a-release-deployment-with-the-maven-release-plugin\n* https://oss.sonatype.org/#nexus-search;quick~jackson-json-reference\n* https://search.maven.org/#search%7Cga%7C1%7Cjackson-json-reference\n\nIf you need to bump the version of all projects in the multi-project:\n\n```\nmvn versions:set -DnewVersion=2.50.1-SNAPSHOT\n```\n\nThen be sure your build is up to date:\n\n```\nmvn compile\n```\n\nNow, use the Release Plugin (http://maven.apache.org/maven-release/maven-release-plugin/usage.html):\n\n```\nmvn release:prepare -DdryRun=true\n```\n\n```\nmvn release:prepare\n```\n\nIf you mess up:\n\n```\nmvn release:clean\n```\n\nElse:\n\n```\nmvn release:perform\n```\n\n[Jackson]: https://github.com/FasterXML/jackson\n[JSON Reference]: https://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03\n[JSON Reference Extended]: https://tools.ietf.org/html/draft-zyp-json-schema-04#section-7.1\n[JSON Pointer]: http://tools.ietf.org/html/rfc6901\n[JSON Schema]: http://json-schema.org/\n[JSON Schema Spec]: https://tools.ietf.org/html/draft-zyp-json-schema-04\n[download]: https://repo1.maven.org/maven2/me/andrz/jackson/jackson-json-reference-core/0.3.0/jackson-json-reference-core-0.3.2.jar\n[download-cli]: https://repo1.maven.org/maven2/me/andrz/jackson/jackson-json-reference-cli/0.3.0/jackson-json-reference-cli-0.3.2.jar\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandersdjohnson%2Fjackson-json-reference","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandersdjohnson%2Fjackson-json-reference","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandersdjohnson%2Fjackson-json-reference/lists"}