{"id":22089039,"url":"https://github.com/mzaini30/olah-json","last_synced_at":"2026-05-01T01:32:15.964Z","repository":{"id":88835310,"uuid":"253721670","full_name":"mzaini30/olah-json","owner":"mzaini30","description":"JSON library untuk client side","archived":false,"fork":false,"pushed_at":"2020-04-11T07:07:15.000Z","size":86,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T22:45:48.425Z","etag":null,"topics":["client-side","js","json","json-server"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mzaini30.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://trakteer.id/mzaini30"]}},"created_at":"2020-04-07T07:39:47.000Z","updated_at":"2020-04-11T07:07:18.000Z","dependencies_parsed_at":"2023-04-19T17:15:54.975Z","dependency_job_id":null,"html_url":"https://github.com/mzaini30/olah-json","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mzaini30/olah-json","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzaini30%2Folah-json","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzaini30%2Folah-json/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzaini30%2Folah-json/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzaini30%2Folah-json/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mzaini30","download_url":"https://codeload.github.com/mzaini30/olah-json/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzaini30%2Folah-json/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32482460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"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":["client-side","js","json","json-server"],"created_at":"2024-12-01T02:10:27.304Z","updated_at":"2026-05-01T01:32:15.946Z","avatar_url":"https://github.com/mzaini30.png","language":"HTML","funding_links":["https://trakteer.id/mzaini30"],"categories":[],"sub_categories":[],"readme":"# Olah JSON\n\n\u003e Versi Beta\n\nProyek ini terinspirasi dari [typicode/json-server](https://github.com/typicode/json-server)\n\nKalau JSON Server kan itu untuk sisi server. Maka, Olah JSON ini adalah dari sisi client\n\n## Install\n\n- [For development](olahJson.js) - masih pakai ES2015+\n- [For production](olahJson.min.js) - sudah diolah pakai Babel dan minify dengan Uglify JS\n\nLalu, panggil dengan:\n\n```html\n\u003cscript src='olahJson.js'\u003e\u003c/script\u003e\n```\n\nAtau\n\n```html\n\u003cscript src='olahJson.min.js'\u003e\u003c/script\u003e\n```\n\n## Struktur JSON\n\n```javascript\nvar data = {\n  \"santri\": [\n    {\n      \"id\": 1,\n      \"nama\": \"Zen\",\n      \"alamat\": \"Samarinda\"\n    },\n    {\n      \"id\": 2,\n      \"nama\": \"Yani\",\n      \"alamat\": \"Samarinda\"\n    },\n    {\n      \"id\": 3,\n      \"nama\": \"Anggi\",\n      \"alamat\": \"Samarinda\"\n    }\n  ],\n  \"lomba\": [\n    {\n      \"id\": 1,\n      \"lomba\": \"balap karung\",\n      \"santri_id\": 1\n    }\n  ]\n}\n```\n\n## Getting started (contohnya)\n\n```javascript\nvar data = {\n  \"santri\": [\n    {\n      \"id\": 1,\n      \"nama\": \"Zen\",\n      \"alamat\": \"Samarinda\"\n    },\n    {\n      \"id\": 3,\n      \"nama\": \"Yani\",\n      \"alamat\": \"Samarinda\"\n    }\n  ],\n  \"lomba\": [\n    {\n      \"id\": 4,\n      \"lomba\": \"balap karung\",\n      \"santri_id\": 3\n    }\n  ]\n}\nvar datanya = new OlahJson(data) // harus pakai new OlahJson()\nvar hasilOlahan = datanya.query('santri?nama=zen\u0026alamat=samarinda').get() // pakai get() di paling akhir\nconsole.log(hasilOlahan)\n```\n\n## GET\n\n```javascript\ndata.query('santri').get()\ndata.query('santri/1').get()\ndata.query('santri?id=1').get()\ndata.query('santri?id=1\u0026nama=zen').get()\ndata.query('santri/1?id=1').get()\ndata.query('santri/1?id=1\u0026nama=zen').get()\n```\n\n## DELETE\n\n```javascript\ndata.query('santri').delete().get()\ndata.query('santri/1').delete().get()\n```\n\n## PUT\n\n```javascript\ndata.query('santri/10').put({\n  'nama': 'Kucing',\n  'alamat': 'Balikpapan'\n}).get()\n```\n\n## POST\n\n```javascript\ndata.query('santri').post({\n  'nama': 'Rey',\n  'alamat': 'Berau'\n}).get()\n```\n\n## Chain method\n\nMendukung chain method\n\nCaranya, gunakan `.query()` kemudian `post/put/delete`, lalu di ujung semua itu, pakai `get()`.\n\nContoh:\n\n```javascript\ndata.query('lomba').delete()\n.query('santri/3').delete()\n.query('santri/1').put({\n  'nama': 'Yani',\n  'alamat': 'Loa Bakung'\n}).get()\n```\n\nContoh lain:\n\n```javascript\ndata.query('santri').post({\n  'nama': 'Rey',\n  'alamat': 'Berau'\n}).query('santri').post({\n  'nama': 'Ari',\n  'alamat': 'Kaltara'\n}).query('lomba').post({\n  'lomba': 'masukkan kelereng',\n  'santri_id': 11\n}).get()\n```\n\n## TODO\n\n- [ ] Filter (Contoh: \"santri?`_q`=aku\")\n- [x] GET\n- [x] PUT\n- [x] DELETE\n- [x] POST\n- [x] Chain method","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmzaini30%2Folah-json","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmzaini30%2Folah-json","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmzaini30%2Folah-json/lists"}