{"id":15009092,"url":"https://github.com/jsonurl/jsonurl-java","last_synced_at":"2025-04-09T16:34:27.994Z","repository":{"id":42935034,"uuid":"243657742","full_name":"jsonurl/jsonurl-java","owner":"jsonurl","description":"JSON-\u003eURL defines a text format for the JSON data model suitable for use within a URL/URI (as described by RFC3986). This repository holds the Java reference implementation of JSON-\u003eURL.","archived":false,"fork":false,"pushed_at":"2024-04-09T22:10:27.000Z","size":6496,"stargazers_count":4,"open_issues_count":5,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-04-10T01:15:48.299Z","etag":null,"topics":["apache-maven","java","json","jsonurl","jsr374","marshaling","maven","querystring","text","uri","url"],"latest_commit_sha":null,"homepage":"http://www.jsonurl.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jsonurl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-02-28T02:02:11.000Z","updated_at":"2024-04-14T21:39:27.437Z","dependencies_parsed_at":"2023-09-24T17:17:36.729Z","dependency_job_id":"374bea35-43f9-469a-ae40-52c6867f3b6f","html_url":"https://github.com/jsonurl/jsonurl-java","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsonurl%2Fjsonurl-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsonurl%2Fjsonurl-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsonurl%2Fjsonurl-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsonurl%2Fjsonurl-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsonurl","download_url":"https://codeload.github.com/jsonurl/jsonurl-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248068135,"owners_count":21042430,"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":["apache-maven","java","json","jsonurl","jsr374","marshaling","maven","querystring","text","uri","url"],"created_at":"2024-09-24T19:23:00.782Z","updated_at":"2025-04-09T16:34:27.973Z","avatar_url":"https://github.com/jsonurl.png","language":"Java","readme":"# JSON\u0026#x2192;URL\n[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/jsonurl/jsonurl-java.svg?label=License)](https://www.apache.org/licenses/LICENSE-2.0)\n[![Release](https://img.shields.io/github/release/jsonurl/jsonurl-java.svg?label=Release)](https://search.maven.org/search?q=g:org.jsonurl)\n[![javadoc](https://javadoc.io/badge2/org.jsonurl/jsonurl-core/javadoc.svg)](https://javadoc.io/doc/org.jsonurl/jsonurl-core)\n[![GitHub Build Status](https://github.com/jsonurl/jsonurl-java/workflows/ci/badge.svg)](https://github.com/jsonurl/jsonurl-java/actions?query=workflow%3Aci)\n[![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=jsonurl-java\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=jsonurl-java)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=jsonurl-java\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=jsonurl-java)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=jsonurl-java\u0026metric=ncloc)](https://sonarcloud.io/dashboard?id=jsonurl-java)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=jsonurl-java\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=jsonurl-java)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=jsonurl-java\u0026metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=jsonurl-java)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=jsonurl-java\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=jsonurl-java)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjsonurl%2Fjsonurl-java.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjsonurl%2Fjsonurl-java?ref=badge_shield)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-green)](CONTRIBUTING.md)\n\n[json.org module][jsonorg-module]: [![Known Vulnerabilities](https://snyk.io/test/github/jsonurl/jsonurl-java/badge.svg?targetFile=module/jsonurl-jsonorg/pom.xml)](https://snyk.io/test/github/jsonurl/jsonurl-java?targetFile=module/jsonurl-jsonorg/pom.xml)\n[![javadoc](https://javadoc.io/badge2/org.jsonurl/jsonurl-jsonorg/javadoc.svg)](https://javadoc.io/doc/org.jsonurl/jsonurl-jsonorg)\n\n[javax.json module][jsr374-module]: [![Known Vulnerabilities](https://snyk.io/test/github/jsonurl/jsonurl-java/badge.svg?targetFile=module/jsonurl-jsr374/pom.xml)](https://snyk.io/test/github/jsonurl/jsonurl-java?targetFile=module/jsonurl-jsr374/pom.xml)\n[![javadoc](https://javadoc.io/badge2/org.jsonurl/jsonurl-jsr374/javadoc.svg)](https://javadoc.io/doc/org.jsonurl/jsonurl-jsr374) \n\n## About\n[RFC8259][RFC8259] describes the JSON data model and interchange format, which is widely\nused in application-level protocols including RESTful APIs. It is common for\napplications to request resources via the HTTP POST method, with JSON entities.\nHowever, POST is suboptimal for requests which do not modify a resource's\nstate. JSON\u0026#x2192;URL defines a text format for the JSON data model suitable\nfor use within a [URL][RFC1738]/[URI][RFC3986].\n\n## Usage\nThe factory artifact defines a [generic][java-generic]\n[JSON-\u003eURL parser][parser] and includes an implementation based Java SE\ndata types (e.g. [java.util.Map][java-map], [java.util.List][java-list], etc).\nThere are two additional modules, distributed as separate artifacts, which\nimplement a parser based on JSR-374 and Douglas Crockford's Java API.\n\n### [Java SE][java-util] API example:\n\n```xml\n\u003cdependencies\u003e\n  \u003cdependency\u003e\n    \u003cgroupId\u003eorg.jsonurl\u003c/groupId\u003e\n    \u003cartifactId\u003ejsonurl-factory\u003c/artifactId\u003e\n    \u003cversion\u003e${jsonurl.version}\u003c/version\u003e\n  \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n```java\nimport java.util.Map;\nimport org.jsonurl.j2se.JsonUrlParser;\n\nJsonUrlParser p = new JsonUrlParser();\nMap obj = p.parseObject( \"(Hello:World!)\" );\nSystem.out.println(obj.get(\"Hello\")) // World!\n```\n\n### [Json.org][javadoc-org-json] example:\n\n```xml\n\u003cdependencies\u003e\n  \u003cdependency\u003e\n    \u003cgroupId\u003eorg.jsonurl\u003c/groupId\u003e\n    \u003cartifactId\u003ejsonurl-jsonorg\u003c/artifactId\u003e\n    \u003cversion\u003e${jsonurl.version}\u003c/version\u003e\n  \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n```java\nimport org.json.JSONObject;\nimport org.jsonurl.jsonorg.JsonUrlParser;\n\nJsonUrlParser p = new JsonUrlParser();\nJSONObject obj = p.parseObject( \"(Hello:World!)\" );\nSystem.out.println(obj.get(\"Hello\")) // World!\n```\n\n### [JSR-374][javadoc-javax-json] example:\n\n```xml\n\u003cdependencies\u003e\n  \u003cdependency\u003e\n    \u003cgroupId\u003eorg.jsonurl\u003c/groupId\u003e\n    \u003cartifactId\u003ejsonurl-jsr374\u003c/artifactId\u003e\n    \u003cversion\u003e${jsonurl.version}\u003c/version\u003e\n  \u003c/dependency\u003e\n  \u003cdependency\u003e\n    \u003cgroupId\u003eorg.glassfish\u003c/groupId\u003e\n    \u003cartifactId\u003ejavax.json\u003c/artifactId\u003e\n    \u003cversion\u003e${javax.json.version}\u003c/version\u003e\n  \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n```java\nimport javax.json.JsonObject;\nimport org.jsonurl.jsonp.JsonUrlParser;\n\nJsonUrlParser p = new JsonUrlParser();\nJsonObject obj = p.parseObject( \"(Hello:World!)\" );\nSystem.out.println(obj.get(\"Hello\")) // World!\n```\n\n## Javadocs\nAll artifacts published to Maven Central include `sources` and `javadoc` JARs.\nYou can browse the current, and all previous revisions, via Javadoc.io:\n  + [jsonurl-core](https://javadoc.io/doc/org.jsonurl/jsonurl-core)\n  + [jsonurl-factory](https://javadoc.io/doc/org.jsonurl/jsonurl-factory)\n  + [jsonurl-jsonorg](https://javadoc.io/doc/org.jsonurl/jsonurl-jsonorg)\n  + [jsonurl-jsr374](https://javadoc.io/doc/org.jsonurl/jsonurl-jsr374)\n\nAdditionally, Javadocs are also generated automatically on pushes to\n[main](https://jsonurl.github.io/jsonurl-java/). \n  \n\n## Security\nThe parser is designed to parse untrusted input. It supports limits on\nthe number of parsed values and depth of nested arrays or objects.\nWhen the limit is exceeded a [LimitException][limit-exception] is thrown.\nSane limit values are set by default. \n\n## License\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fjsonurl%2Fjsonurl-java.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fjsonurl%2Fjsonurl-java?ref=badge_large)\n\n[RFC8259]: https://tools.ietf.org/html/rfc8259\n[RFC3986]: https://tools.ietf.org/html/rfc3986\n[RFC1738]: https://tools.ietf.org/html/rfc1738\n[java-generic]: https://docs.oracle.com/javase/tutorial/java/generics/types.html\n[parser]: module/jsonurl-core/src/main/java/org/jsonurl/Parser.java\n[limit-exception]: module/jsonurl-core/src/main/java/org/jsonurl/LimitException.java\n[jsonorg-module]: module/jsonurl-jsonorg/src/main/java/org/jsonurl/jsonorg/JsonUrlParser.java\n[jsr374-module]: module/jsonurl-jsr374/src/main/java/org/jsonurl/jsonp/JsonUrlParser.java\n[java-map]: https://docs.oracle.com/javase/8/docs/api/java/util/Map.html\n[java-list]: https://docs.oracle.com/javase/8/docs/api/java/util/List.html\n[javadoc-org-json]: https://javadoc.io/doc/org.json/json/\n[javadoc-javax-json]: https://javadoc.io/doc/javax.json/javax.json-api/\n[java-util]: https://docs.oracle.com/javase/8/docs/api/java/util/\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsonurl%2Fjsonurl-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsonurl%2Fjsonurl-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsonurl%2Fjsonurl-java/lists"}