{"id":34914641,"url":"https://github.com/vurvdev/qjson","last_synced_at":"2026-01-13T21:01:07.981Z","repository":{"id":177150326,"uuid":"659982190","full_name":"vurvdev/qjson","owner":"vurvdev","description":"Tiny, quick JSON library for lua.","archived":false,"fork":false,"pushed_at":"2025-12-26T10:00:16.000Z","size":34,"stargazers_count":10,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-27T21:44:30.290Z","etag":null,"topics":["json","json-encoder","json-library","json-parser","lest","lua","luajit"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vurvdev.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-06-29T01:53:13.000Z","updated_at":"2025-12-26T10:00:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"f5a5aad8-136e-4c58-81a4-57bfcf2bf6b0","html_url":"https://github.com/vurvdev/qjson","commit_stats":null,"previous_names":["vurv78/qjson.lua","thevurv/qjson.lua","vurvdev/qjson.lua"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/vurvdev/qjson","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vurvdev%2Fqjson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vurvdev%2Fqjson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vurvdev%2Fqjson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vurvdev%2Fqjson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vurvdev","download_url":"https://codeload.github.com/vurvdev/qjson/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vurvdev%2Fqjson/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28400350,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["json","json-encoder","json-library","json-parser","lest","lua","luajit"],"created_at":"2025-12-26T12:02:59.903Z","updated_at":"2026-01-13T21:01:07.971Z","avatar_url":"https://github.com/vurvdev.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"qjson.svg\" height=150px/\u003e\n\nTiny, quick JSON encoding/decoding in pure Lua.\n\n# [![Release Shield](https://img.shields.io/github/v/release/vurvdev/qjson.lua?include_prereleases)](https://github.com/vurvdev/qjson.lua/releases/latest) [![License](https://img.shields.io/github/license/vurvdev/qjson.lua?color=red)](https://opensource.org/licenses/MIT) [![Linter Badge](https://github.com/vurvdev/qjson.lua/workflows/Run%20Lest/badge.svg)](https://github.com/vurvdev/qjson.lua/actions) [![github/vurvdev](https://img.shields.io/discord/824727565948157963?label=Discord\u0026logo=discord\u0026logoColor=ffffff\u0026labelColor=7289DA\u0026color=2c2f33)](https://discord.gg/yXKMt2XUXm)\n\n## Features\n* Pure lua, should work on every version (5.1-5.4, JIT)\n* Quick, focused on performance. (See benchmarks below)\n* Very small, ~180 sloc.\n* Decent error handling: `Expected : to follow key for object at char 39`\n\n## Usage\n```lua\nlocal json = require \"qjson\"\nprint(json.encode {\n\thello = \"world!\",\n\tqjson = { \"fast\", \"simple\", \"tiny\" }\n})\n\n--[[\n\t{\"qjson\":[\"fast\",\"simple\",\"tiny\"],\"hello\":\"world!\"}\n]]\n\nprint(json.decode([[\n\t{ \"foo\": \"bar\" }\n]]))\n```\n\n## Notes\n* `null` is output as a special table instance, retrieved from `qjson.NULL`\n* This does not guarantee 100% compatibility with the more niche parts of the JSON spec (like unicode escapes)\n\n## Benchmarks\nUsing benchmarks/bench.lua [(which tests the simdjson twitter example)](https://raw.githubusercontent.com/simdjson/simdjson/master/jsonexamples/twitter.json) through WSL:\n\n```\nLuaJIT 2.1.0-beta3 (Windows 11)\n11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz\n```\n\n| Name (Decode)        | Min        | Max        | Avg        | Avg / Best  |\n| ---                  | ---        | ---        | ---        | ---         |\n| rxi/json             | 0.005      | 0.009      | 0.00672    | x1          |\n| actboy168/json       | 0.011      | 0.016      | 0.01295    | x1.92708    |\n| luadist/dkjson       | 0.012      | 0.017      | 0.01426    | x2.12202    |\n| vurvdev/qjson         | 0.008      | 0.015      | 0.00939    | x1.39732    |\n| grafi-tt/lunajson    | 0.005      | 0.012      | 0.007095   | x1.0558     |\n\n| Name (Encode)        | Min        | Max        | Avg        | Avg / Best  |\n| ---                  | ---        | ---        | ---        | ---         |\n| rxi/json             | 0.01       | 0.02       | 0.011745   | x7.93581    |\n| actboy168/json       | 0.009      | 0.014      | 0.01077    | x7.27703    |\n| luadist/dkjson       | 0.015      | 0.018      | 0.01559    | x10.5338    |\n| vurvdev/qjson         | 0.001      | 0.003      | 0.00148    | x1          |\n| grafi-tt/lunajson    | 0.007      | 0.01       | 0.008645   | x5.84122    |\n\n```\nLua 5.3 (WSL : Windows 11)\n11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz\n```\n\n| Name (Decode)        | Min        | Max        | Avg        | Avg / Best  |\n| ---                  | ---        | ---        | ---        | ---         |\n| actboy168/json       | 0.019036   | 0.024134   | 0.0204356  | x1.63325    |\n| rxi/json             | 0.045677   | 0.059829   | 0.0487656  | x3.89742    |\n| vurvdev/qjson         | 0.01478    | 0.02029    | 0.0160733  | x1.28461    |\n| luadist/dkjson       | 0.028986   | 0.038415   | 0.0314367  | x2.51247    |\n| grafi-tt/lunajson    | 0.01162    | 0.015419   | 0.0125123  | x1          |\n\n| Name (Encode)        | Min        | Max        | Avg        | Avg / Best  |\n| ---                  | ---        | ---        | ---        | ---         |\n| actboy168/json       | 0.016462   | 0.019902   | 0.0176806  | x3.0031     |\n| rxi/json             | 0.016091   | 0.020716   | 0.0182224  | x3.09512    |\n| vurvdev/qjson         | 0.005352   | 0.008078   | 0.00588746 | x1          |\n| luadist/dkjson       | 0.022643   | 0.04247    | 0.0249368  | x4.23559    |\n| grafi-tt/lunajson    | 0.011779   | 0.014569   | 0.0128647  | x2.1851     |\n\nFrom here, you can see this library is fastest at encoding, running 8-10x faster than the most commonly used libraries.\n\nDecoding is getting there. Currently balancing performance between PUC-Lua and Luajit.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvurvdev%2Fqjson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvurvdev%2Fqjson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvurvdev%2Fqjson/lists"}