{"_id":"is-json","_rev":"27-22b8a83bb8209b13f78f3d72a2d7010d","name":"is-json","dist-tags":{"latest":"3.0.1"},"versions":{"1.0.0":{"name":"is-json","version":"1.0.0","keywords":["JSON","validation"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@1.0.0","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"df0bfaaf1e99b7982b9db9b88d01b1fa8a03771e","tarball":"https://registry.npmjs.org/is-json/-/is-json-1.0.0.tgz","integrity":"sha512-IqfCxr1qrdWoHTkexToO2esWu+uNcheuSwxxsxjsdkMXzQ+6BRIPEdvMDtUogbBuTZzGprI3RISqlLZWyo0wrQ==","signatures":[{"sig":"MEQCIGIp1VjYnuBRl4WN0wEmCMnZYUHcuGdglkxf+P3b8EsXAiBKfDTU2mWJ02C6kbe0Cjs50ga04Q4WqqRFsUP8zSQDQg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"node test"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git@github.com:joaquimserafim/is-json.git","type":"git"},"_npmVersion":"1.4.3","description":"check if a string is a valid JSON string in JavaScript without using Try/Catch","directories":{"test":"test"}},"1.0.1":{"name":"is-json","version":"1.0.1","keywords":["JSON","validation"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@1.0.1","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"aaac1620ebb7df0820d2f30afddbe02b17b50529","tarball":"https://registry.npmjs.org/is-json/-/is-json-1.0.1.tgz","integrity":"sha512-U9umyNS5Tr4ieSoQszZsGV58XgHWDCrRQ8YEfC5lFEMm16U9R+EJwYz4pdCtwi2MEfnwAM750e2RfxVFJVfWYg==","signatures":[{"sig":"MEUCIF7yxZn14Na0X19kP5Tc8DQYKFE47QwU11cHZW7GeRjWAiEA806AhybuXCf6Bs27p/vBtDVCmy/t2Y38NE7fOLpOsx0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"node test"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git@github.com:joaquimserafim/is-json.git","type":"git"},"_npmVersion":"1.4.3","description":"check if a string is a valid JSON string without using Try/Catch","directories":{"test":"test"}},"1.1.1":{"name":"is-json","version":"1.1.1","keywords":["JSON","validation"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@1.1.1","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"993a57ad2d32ae945d291ff38f00d428a0c95702","tarball":"https://registry.npmjs.org/is-json/-/is-json-1.1.1.tgz","integrity":"sha512-u69MZO79hgBetumN6C3uG+imzzgg7/nKzUqn6ZCVrYbTJdyZrtUAOza76H5aR6Rf3xryW3/K8inq/dehbamPxQ==","signatures":[{"sig":"MEQCIDm8Bk0lypyYjeIvHs8zsZsNFFM1oB2juu2yte6bdq2PAiALTa9LkbCYu2CDgai75XWyY8RxCbwXXATUMEBKssQQ6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","scripts":{"test":"node test"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git@github.com:joaquimserafim/is-json.git","type":"git"},"_npmVersion":"1.4.3","description":"check if a string is a valid JSON string without using Try/Catch","directories":{"test":"test"}},"1.1.2":{"name":"is-json","version":"1.1.2","keywords":["JSON","validation"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@1.1.2","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"2d46088bfcd67dd4a9f6469d1a7d19ef67696a06","tarball":"https://registry.npmjs.org/is-json/-/is-json-1.1.2.tgz","integrity":"sha512-IRR95LEIqabZfO83h/a6qsHw9qhAvB9ukVw0yfr6wlPPNtgp0zVGrr/kyMgn0dvcOHcRqih8BZey/Q9VrCEapg==","signatures":[{"sig":"MEUCIQC4xsFzXnPWG06rMhdl0h/nK5Q7ksyxB47SKuf4ye06PwIgQsvJSMLQRWIHpqQXDC1GsEGtj0SJvnqdgpPPQ1wVCh8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"2d46088bfcd67dd4a9f6469d1a7d19ef67696a06","scripts":{"test":"node test"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git@github.com:joaquimserafim/is-json.git","type":"git"},"_npmVersion":"1.4.9","description":"check if a string is a valid JSON string without using Try/Catch","directories":{"test":"test"},"devDependencies":{"tape":"^2.13.1"}},"1.1.3":{"name":"is-json","version":"1.1.3","keywords":["JSON","validation"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@1.1.3","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"850c122b316830453e25f0221eb825c6ce6311ad","tarball":"https://registry.npmjs.org/is-json/-/is-json-1.1.3.tgz","integrity":"sha512-1ksHcOiooL0QlHpVXdcwHSAh+o1wikfEItsgu/w1MDMSQPwSbVkwjBl9h7AfzOXA34VX3S7McKy+UR5QxTl9kA==","signatures":[{"sig":"MEQCIEWHVasYp2pNWD4R7x23HFjjdB6oAMm56lMYs7xeulcSAiAzaOJ2V+F3q4Iie+TC28+pC/op7Yt5PyDmfvjrrs9WZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"850c122b316830453e25f0221eb825c6ce6311ad","scripts":{"test":"node test"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git@github.com:joaquimserafim/is-json.git","type":"git"},"_npmVersion":"1.4.9","description":"check if a string is a valid JSON string without using Try/Catch","directories":{"test":"test"},"devDependencies":{"tape":"^2.13.1"}},"1.1.4":{"name":"is-json","version":"1.1.4","keywords":["JSON","validation"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@1.1.4","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"01a383669f0eca48b126a880feeb39ce3b138049","tarball":"https://registry.npmjs.org/is-json/-/is-json-1.1.4.tgz","integrity":"sha512-CPfgrYm6Ibl70AV07uGufnz7DKZkYZovz3A1AUMjgQuYWhSwexiVnVAbElw68q0X9zck+q8winmasS7XIO0Mbg==","signatures":[{"sig":"MEUCIQCvDEZkiHjq2zf0ao60YFsNi09W0m3q3Vr+fI+bL+5+QAIgdU6oNvCvs3GBvT4CU30F5Y48ykCCE1trVLEsaJNvNgQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"01a383669f0eca48b126a880feeb39ce3b138049","scripts":{"test":"node test"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git@github.com:joaquimserafim/is-json.git","type":"git"},"_npmVersion":"1.4.9","description":"check if a string is a valid JSON string without using Try/Catch","directories":{"test":"test"},"devDependencies":{"tape":"^2.13.1"}},"1.1.5":{"name":"is-json","version":"1.1.5","keywords":["JSON","validation"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@1.1.5","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"ac89964d697beda96820eda8e50253f0aa04e70b","tarball":"https://registry.npmjs.org/is-json/-/is-json-1.1.5.tgz","integrity":"sha512-yuAa+eOvRMpeeHzUZPITG6NlLa4Hjbj5IG7ZY+WUox52LhR5yMYRft6FO3v46e2hTFP7cAEVbeXySp3KgHR4FA==","signatures":[{"sig":"MEQCIGEKY909xBt8obKiCftLPpCl/MILghWR9qe/yehuD2t0AiAYsP8X/uK6Ekb5PZwv6n4dqgLmEHhop2TDAj6NjFk7yA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"ac89964d697beda96820eda8e50253f0aa04e70b","gitHead":"c4f07f20c4f36e750c88c13737860c1e51f5afa0","scripts":{"test":"node test"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git@github.com:joaquimserafim/is-json.git","type":"git"},"_npmVersion":"1.4.14","description":"check if a string is a valid JSON string without using Try/Catch","directories":{"test":"test"},"devDependencies":{"tape":"^2.13.1"}},"1.2.5":{"name":"is-json","version":"1.2.5","keywords":["JSON","validation"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@1.2.5","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"1a8f9e1badcdc08cfc6b50f2e798723d5ac9fec6","tarball":"https://registry.npmjs.org/is-json/-/is-json-1.2.5.tgz","integrity":"sha512-dMfiGXBBaQZd9T+tJb08S5+pBWXMcbMOws4X8cEhWN1EgsUEfLG8EMVVLA0BCZjo6RoNs3QCJFDGF6J2CSjzcg==","signatures":[{"sig":"MEQCIACzPl2n6z5nit+kd8UCZhUcShFy3d1TWW2JJmeEFivZAiBD1FIIek6VQ+Hqlpi0DNQ24PZJUhZlfBc5FYcYFEby7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"1a8f9e1badcdc08cfc6b50f2e798723d5ac9fec6","gitHead":"c7c330b79330d770be8e420be15af7fec51d0d5d","scripts":{"test":"node test"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git@github.com:joaquimserafim/is-json.git","type":"git"},"_npmVersion":"1.4.14","description":"check if a string is a valid JSON string without using Try/Catch","directories":{"test":"test"},"devDependencies":{"tape":"^2.13.1"}},"2.0.0":{"name":"is-json","version":"2.0.0","keywords":["JSON","validation"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@2.0.0","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"06fc622f8b9be15bac9a5a767c93a1d819df6e7f","tarball":"https://registry.npmjs.org/is-json/-/is-json-2.0.0.tgz","integrity":"sha512-CaVryORp3fuGxTvlAvqQd5HMsp7uZD/bwaBhKafx+hiHUui2xYEvVJf25A27NApYGeQLkCs61QsOmF2WqAMdxw==","signatures":[{"sig":"MEYCIQDCwSjX8/N8L/I75bQ9nozrVptox0i/e99NAlugXr5FzgIhANWJ25qyB7XTwv/wf3yxrqfvmoEdTrn68ePq6nsQYjap","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"06fc622f8b9be15bac9a5a767c93a1d819df6e7f","gitHead":"ef8d7aef6b5fcbbff5e11a732040d19caf5f0d00","scripts":{"test":"node test"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git@github.com:joaquimserafim/is-json.git","type":"git"},"_npmVersion":"2.14.9","description":"check if a string is a valid JSON string without using Try/Catch","directories":{"test":"test"},"_nodeVersion":"0.12.10","devDependencies":{"tape":"^2.13.1"},"_npmOperationalInternal":{"tmp":"tmp/is-json-2.0.0.tgz_1457028360587_0.5361060078721493","host":"packages-12-west.internal.npmjs.com"}},"2.0.1":{"name":"is-json","version":"2.0.1","keywords":["JSON","validation"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@2.0.1","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"6be166d144828a131d686891b983df62c39491ff","tarball":"https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz","integrity":"sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==","signatures":[{"sig":"MEUCIEtIZn1pXw6zHMCv4GmxMq+t7M3aNJ0QkFQk9xIs/OnyAiEA4Q6wXJ/RPkW2X/A1iwtVKSDxSkQQW7YvdjrYd4WlKWc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"6be166d144828a131d686891b983df62c39491ff","gitHead":"88cf3ece3ab41b21dd6fac366ae4a85484470ed0","scripts":{"test":"node test"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git+ssh://git@github.com/joaquimserafim/is-json.git","type":"git"},"_npmVersion":"2.15.1","description":"check if a string is a valid JSON string without using Try/Catch","directories":{"test":"test"},"_nodeVersion":"0.12.15","devDependencies":{"tape":"^2.13.1"},"_npmOperationalInternal":{"tmp":"tmp/is-json-2.0.1.tgz_1474129789698_0.5797332285437733","host":"packages-16-east.internal.npmjs.com"}},"3.0.0":{"name":"is-json","version":"3.0.0","keywords":["json","validation","is-json","typescript"],"author":{"name":"@joaquimserafim"},"license":"ISC","_id":"is-json@3.0.0","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"homepage":"https://github.com/joaquimserafim/is-json#readme","bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"dist":{"shasum":"ccca62cab887f3cb885548fd66745de39d7d092c","tarball":"https://registry.npmjs.org/is-json/-/is-json-3.0.0.tgz","fileCount":9,"integrity":"sha512-E9Iw+39kCXzx7G1+W41tiPn7jPq944gm+gH/pn4wgANV9NH5u7Wi9LKF61nPlyw691nFUg1ykhExqhUeU+Gqzw==","signatures":[{"sig":"MEYCIQDR2ZNWzs5uL5UZ++Cg2GJIZRQTMyUAWFDEK8kv0pK6RgIhALGHawMjzWPqdjrySzbFU15QqPx2J1uovYhx50pgZsgt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16530},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e4d83b1f143b2ad0b3968a7923929e9eaaa657b0","scripts":{"lint":"biome check .","test":"vitest run","build":"tsup","format":"biome check --write .","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm typecheck && pnpm lint && pnpm test && pnpm build"},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"repository":{"url":"git+https://github.com/joaquimserafim/is-json.git","type":"git"},"_npmVersion":"10.9.8","description":"Check if a value is a valid JSON object/array string (or a plain object), without try/catch on the caller side.","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1","@biomejs/biome":"^2.4.15","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/is-json_3.0.0_1779837023547_0.5969226839639934","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"is-json","version":"3.0.1","description":"Check if a value is a valid JSON object/array string (or a plain object), without try/catch on the caller side.","type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.mts","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"engines":{"node":">=18"},"scripts":{"build":"tsup && mv dist/index.d.ts dist/index.d.mts","typecheck":"tsc --noEmit","lint":"biome check .","format":"biome check --write .","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm typecheck && pnpm lint && pnpm test && pnpm build"},"keywords":["json","validation","is-json","typescript"],"author":{"name":"@joaquimserafim"},"license":"ISC","repository":{"type":"git","url":"git+https://github.com/joaquimserafim/is-json.git"},"bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"homepage":"https://github.com/joaquimserafim/is-json#readme","devDependencies":{"@biomejs/biome":"^2.4.15","@types/node":"^25.9.1","@vitest/coverage-v8":"^4.1.7","tsup":"^8.5.1","typescript":"^6.0.3","vitest":"^4.1.7"},"_id":"is-json@3.0.1","gitHead":"6e2ebf6c0eb45793802793ce79e21834cee1e229","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-fB9XwB2tyn3KSM9NK7mpqgWT4fG3ranAVCmWYEaubajNyILOPmdcMxFnaTy/Qx91RQs+VpTJCnY2BHtVCPAPyQ==","shasum":"ecfeefbaea31cab8ccb844bc48a68738f3593a48","tarball":"https://registry.npmjs.org/is-json/-/is-json-3.0.1.tgz","fileCount":9,"unpackedSize":17234,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCgQ84uTSSAH8UqgPsQ3RZ04KKJkVgKlh804aTmmwfI6QIhAOzS425RBgh1gEzdAf23yT/6I7f+q7g261thsLZmuAZb"}]},"_npmUser":{"name":"quim","email":"joaquim.serafim@gmail.com"},"directories":{},"maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/is-json_3.0.1_1779841750180_0.4891172550459766"},"_hasShrinkwrap":false}},"time":{"created":"2014-04-21T22:56:55.747Z","modified":"2026-05-27T00:29:10.403Z","1.0.0":"2014-04-21T22:56:55.747Z","1.0.1":"2014-04-21T23:01:14.870Z","1.1.1":"2014-04-22T10:56:19.880Z","1.1.2":"2014-05-20T20:31:45.359Z","1.1.3":"2014-05-25T17:17:36.316Z","1.1.4":"2014-07-02T00:40:14.407Z","1.1.5":"2014-07-02T16:39:06.110Z","1.2.5":"2014-07-02T16:52:12.671Z","2.0.0":"2016-03-03T18:06:03.980Z","2.0.1":"2016-09-17T16:29:51.565Z","3.0.0":"2026-05-26T23:10:23.693Z","3.0.1":"2026-05-27T00:29:10.305Z"},"bugs":{"url":"https://github.com/joaquimserafim/is-json/issues"},"author":{"name":"@joaquimserafim"},"license":"ISC","homepage":"https://github.com/joaquimserafim/is-json#readme","keywords":["json","validation","is-json","typescript"],"repository":{"type":"git","url":"git+https://github.com/joaquimserafim/is-json.git"},"description":"Check if a value is a valid JSON object/array string (or a plain object), without try/catch on the caller side.","maintainers":[{"name":"quim","email":"joaquim.serafim@gmail.com"}],"readme":"# is-json\n\n[![CI](https://github.com/joaquimserafim/is-json/actions/workflows/ci.yml/badge.svg)](https://github.com/joaquimserafim/is-json/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/is-json.svg)](https://www.npmjs.com/package/is-json)\n\nCheck whether a value is a valid JSON object/array (as a string, or a plain\nobject) — without writing a `try/catch` on the caller side.\n\n## Install\n\n```sh\nnpm install is-json\n# or\npnpm add is-json\n# or\nyarn add is-json\n```\n\n## Size\n\nZero runtime dependencies. What ships in the npm tarball:\n\n| What                                  | Raw      | Gzipped  |\n| ------------------------------------- | -------- | -------- |\n| **ESM runtime** (`index.mjs`)         | 996 B    | 407 B    |\n| **CJS runtime** (`index.cjs`)         | 1 006 B  | 418 B    |\n| **Types** (`.d.mts` / `.d.cts`)       | 2 398 B  | 678 B    |\n| Sourcemaps (debug-only, not loaded)   | 6 598 B  | 1 360 B  |\n\nOnly one of the two runtime files is loaded by your bundler / Node, so the\nreal cost in your app is a single sub-KB module.\n\n## Usage\n\n```js\nimport isJSON from \"is-json\";              // ESM\n// const isJSON = require(\"is-json\");      // CJS — same function\n\nisJSON('{\"a\":1,\"b\":[1,2,3]}');             // true\nisJSON('[{\"a\":1}, {\"b\":2}]');              // true\nisJSON('{\"a\":\"contains } brace\"}');        // true (v2 used to fail here)\n\nisJSON('not json');                        // false\nisJSON('{a:1}');                           // false (invalid JSON)\nisJSON(\"\");                                // false\nisJSON(null);                              // false\nisJSON(42);                                // false (default rejects non-strings)\n```\n\n### `passObjects` — accept plain objects directly\n\n```js\nisJSON({ a: 12, b: [1, 2, 3] });           // false (string required)\nisJSON({ a: 12, b: [1, 2, 3] }, true);     // true  (plain object accepted)\n\nisJSON([1, 2, 3], true);                   // false (arrays are not plain objects)\nisJSON(new Date(), true);                  // false (Date is not a plain object)\nisJSON(new Map(), true);                   // false\n```\n\nOnly objects whose prototype is `Object.prototype` (or `null`) qualify.\nArrays, class instances, `Date`, `Map`, etc. are rejected.\n\n### `isJSON.strict` — accept any valid JSON token\n\nThe default `isJSON` only accepts object/array shapes (a deliberate v3\nchoice — most callers want \"is this a JSON payload\"). For full RFC 8259\nvalidity (scalars at the top level), use `strict`:\n\n```js\nisJSON(\"42\");           // false  — scalar tokens rejected by default\nisJSON.strict(\"42\");    // true   — any valid JSON value\nisJSON.strict(\"true\");  // true\nisJSON.strict(\"null\");  // true\nisJSON.strict('\"hi\"');  // true\n\nisJSON.strict({ a: 1 }); // true  — plain objects also accepted\nisJSON.strict(123);      // false — non-string, non-plain-object inputs rejected\n```\n\n## API\n\n```ts\ninterface IsJSON {\n  (value: unknown, passObjects?: boolean): boolean;\n  strict: (value: unknown) => boolean;\n}\n\ndeclare const isJSON: IsJSON;\nexport default isJSON;\n```\n\n## Migrating from v2\n\n`isJSON(str, passObjects?)` and `isJSON.strict(str)` keep the same shape\nand the same `require('is-json')` / default-import ergonomics. Behaviour\nchanges that may affect you:\n\n| Scenario | v2 | v3 |\n| --- | --- | --- |\n| `isJSON('[1,2,3]')` | `false` (regex bug) | `true` |\n| `isJSON('{\"a\":\"}\"}')` | `false` (regex bug) | `true` |\n| `isJSON('{\"msg\":\"hello world\"}')` | brittle | `true` |\n| `isJSON.strict({a:1})` | `true` | `true` (preserved) |\n| `isJSON.strict('null')` | `null` (falsy) | `true` |\n| `isJSON.strict(123)` | `true` (parse coercion) | `false` |\n| `isJSON({...}, true)` accepting class instances | `true` | `false` |\n\nThe regex-based default validator from v2 has been replaced with a\n`JSON.parse`-based check, eliminating false positives and false negatives\naround braces in strings, whitespace-in-values, and nested arrays.\n\n## License\n\nISC © [@joaquimserafim](https://github.com/joaquimserafim)\n","readmeFilename":"README.md","users":{"d3ck":true,"wzbg":true,"tdmalone":true,"rocket0191":true}}