{"id":13564007,"url":"https://github.com/uNetworking/SuperCereal","last_synced_at":"2025-04-03T20:32:34.784Z","repository":{"id":66131387,"uuid":"97931088","full_name":"uNetworking/SuperCereal","owner":"uNetworking","description":"Faster JSON serialization for Golang","archived":false,"fork":false,"pushed_at":"2019-04-29T07:16:15.000Z","size":145,"stargazers_count":61,"open_issues_count":2,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-04T16:46:03.127Z","etag":null,"topics":["fast","json","serializer"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uNetworking.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}},"created_at":"2017-07-21T09:31:46.000Z","updated_at":"2024-01-22T12:41:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"11a44c39-5c8b-4797-8df7-abb52e757ba3","html_url":"https://github.com/uNetworking/SuperCereal","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uNetworking%2FSuperCereal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uNetworking%2FSuperCereal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uNetworking%2FSuperCereal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uNetworking%2FSuperCereal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uNetworking","download_url":"https://codeload.github.com/uNetworking/SuperCereal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247075541,"owners_count":20879460,"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":["fast","json","serializer"],"created_at":"2024-08-01T13:01:25.485Z","updated_at":"2025-04-03T20:32:34.503Z","avatar_url":"https://github.com/uNetworking.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\u003cimg src=\"al.png\" /\u003e\u003c/div\u003e\n\n**SuperCereal** is a simple and efficient JSON serialization library for Go. Unlike most other serializers, including Go's `json.Marshal` and JavaScript's `JSON.stringify`, it doesn't operate using an intermediary tree data structure. This makes it significantly more efficient in both time and memory. Because it doesn't use third-party non-standard preprocessing, your code remains purely standard \u0026 portable Golang.\n\n## 17x the json.Marshal performance\n```go\nsupercereal.Marshal(func(object *supercereal.Object) {\n  object.Put(\"firstName\", \"John\")\n  object.Put(\"lastName\", \"Smith\")\n  object.Put(\"isAlive\", true)\n  object.Put(\"age\", 25)\n  object.Put(\"address\", func(object *supercereal.Object) {\n    object.Put(\"streetAddress\", \"21 2nd Street\")\n    object.Put(\"city\", \"New York\")\n    object.Put(\"state\", \"NY\")\n    object.Put(\"postalCode\", \"10021-3100\")\n  })\n  object.Put(\"phoneNumbers\", func(array *supercereal.Array) {\n    array.Put(func(object *supercereal.Object) {\n      object.Put(\"type\", \"home\")\n      object.Put(\"number\", \"212 555-1234\")\n    })\n    array.Put(func(object *supercereal.Object) {\n      object.Put(\"type\", \"office\")\n      object.Put(\"number\", \"646 555-4567\")\n    })\n    array.Put(func(object *supercereal.Object) {\n      object.Put(\"type\", \"mobile\")\n      object.Put(\"number\", \"123 456-7890\")\n    })\n  })\n  object.Put(\"children\", func(array *supercereal.Array) {})\n  object.Put(\"spouse\", nil)\n})\n```\n\nWhere `supercereal.Marshal` returns the `[]byte` (here prettified for demonstration):\n```json\n{\n  \"firstName\": \"John\",\n  \"lastName\": \"Smith\",\n  \"isAlive\": true,\n  \"age\": 25,\n  \"address\": {\n    \"streetAddress\": \"21 2nd Street\",\n    \"city\": \"New York\",\n    \"state\": \"NY\",\n    \"postalCode\": \"10021-3100\"\n  },\n  \"phoneNumbers\": [\n    {\n      \"type\": \"home\",\n      \"number\": \"212 555-1234\"\n    },\n    {\n      \"type\": \"office\",\n      \"number\": \"646 555-4567\"\n    },\n    {\n      \"type\": \"mobile\",\n      \"number\": \"123 456-7890\"\n    }\n  ],\n  \"children\": [],\n  \"spouse\": null\n}\n```\n\n*Licensed Zlib © 2017 - 2019*\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FuNetworking%2FSuperCereal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FuNetworking%2FSuperCereal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FuNetworking%2FSuperCereal/lists"}