{"id":28392985,"url":"https://github.com/http4s/http4s-play-json","last_synced_at":"2025-09-10T19:37:58.367Z","repository":{"id":38019381,"uuid":"487886378","full_name":"http4s/http4s-play-json","owner":"http4s","description":"Play JSON codecs for http4s","archived":false,"fork":false,"pushed_at":"2025-06-08T12:12:01.000Z","size":189,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-08T13:20:45.627Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","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/http4s.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"zenodo":null}},"created_at":"2022-05-02T14:59:41.000Z","updated_at":"2025-06-08T12:12:05.000Z","dependencies_parsed_at":"2024-02-20T09:31:51.384Z","dependency_job_id":"9bcaef50-f3e6-4ca0-b87a-3486c5c2696b","html_url":"https://github.com/http4s/http4s-play-json","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/http4s/http4s-play-json","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http4s%2Fhttp4s-play-json","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http4s%2Fhttp4s-play-json/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http4s%2Fhttp4s-play-json/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http4s%2Fhttp4s-play-json/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/http4s","download_url":"https://codeload.github.com/http4s/http4s-play-json/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/http4s%2Fhttp4s-play-json/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262022047,"owners_count":23246241,"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":[],"created_at":"2025-05-31T15:10:21.452Z","updated_at":"2025-06-26T07:31:00.871Z","avatar_url":"https://github.com/http4s.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# http4s-play-json [![CI](https://github.com/http4s/http4s-play-json/actions/workflows/ci.yml/badge.svg)](https://github.com/http4s/http4s-play-json/actions/workflows/ci.yml) [![Maven Central](https://img.shields.io/maven-central/v/org.http4s/http4s-play-json_2.13?versionPrefix=0.23)](https://img.shields.io/maven-central/v/org.http4s/http4s-play-json_2.13?versionPrefix=0.23) \u003ca href=\"https://typelevel.org/cats/\"\u003e\u003cimg src=\"https://typelevel.org/cats/img/cats-badge.svg\" height=\"40px\" align=\"right\" alt=\"Cats friendly\" /\u003e\u003c/a\u003e\n\nProvides `EntityEncoder` and `EntityDecoder` support for [play-json](https://github.com/playframework/play-json) JSON library.\n\n## SBT Setup\n```sbt\nlibraryDependencies += \"org.http4s\" %% \"http4s-play-json\" % \"0.23.13\"\n```\n\n## Usage\n```scala\nimport org.http4s.play._\nimport play.api.libs.json._\n\n// Lets fetch some JSON from a website and parse it \n// into a case class that has a play-json `Format` defined (Reads/Writes)\n\n// Assumes that https://mydomain.invalid/sample.json responds:\n// { \"hello\": \"world\" }\n\ncase class SampleResponse(hello: String)\n\nobject SampleResponse {\n  // Play-json formatter for { \"hello\": \"world\" }\n  implicit val format: Format[SampleResponse] = Json.format\n}\n\n// Fetch with an http4s client\nval client: Client[F] = ???\n\nval target = Uri.uri(\"http://mydomain.invalid/sample.json\")\n\n// The response will be deserialised to a `SampleResponse` \n// using the implicit play-json `Format`\nval response: F[Sample] = httpClient.expect[SampleResponse](target)\n```\n\n## Community\n\nThe [Typelevel Discord](https://discord.gg/XF3CXcMzqD) has an #http4s channel. Please join us!\n\n## See also\n\nOther JSON compatibility modules for http4s include: http4s-circe (in the core repo) and [http4s-fabric](https://github.com/http4s/http4s-fabric).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttp4s%2Fhttp4s-play-json","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhttp4s%2Fhttp4s-play-json","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhttp4s%2Fhttp4s-play-json/lists"}