Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
json-expressible
Advanced tools
Micro library that determines whether a value can be expressed as JSON.
An ES5 Javascript micro library that determines whether a value can be expressed as JSON.
Checks whether the value is a valid JSON type (string, number, boolean, null, object, or array).
Recursively checks whether object children and/or array elements are valid JSON types.
Checks whether there are any circular references.
The motivation for this library is twofold:
The JSON.stringify()
function does not throw an error when it encounters
non-JSON values like undefined
and NaN
. Instead, it omits the values or
converts them to null
in the returned serialization. As a result, parsing
the serialization does not return the original value.
It can be useful to know whether a value is expressible in JSON without actually serializing it.
To install:
npm install json-expressible
To use:
var jsonExpressible = require("json-expressible");
// The following return true
console.log(jsonExpressible("abc"));
console.log(jsonExpressible(123));
console.log(jsonExpressible(true));
console.log(jsonExpressible(null));
console.log(jsonExpressible({ abc: "def" }));
console.log(jsonExpressible([1, 2, 3]));
// The following return false
console.log(jsonExpressible(undefined));
console.log(jsonExpressible(NaN));
console.log(jsonExpressible(function () {}));
console.log(jsonExpressible(new Date()));
console.log(jsonExpressible(Infinity));
console.log(jsonExpressible(/reg.ex/));
console.log(jsonExpressible([ undefined ]));
console.log(jsonExpressible({ abc: undefined }));
var circularObject = {};
circularObject.ref = circularObject;
console.log(jsonExpressible(circularObject));
var circularArray = [];
circularArray.push(circularArray);
console.log(jsonExpressible(circularArray));
FAQs
Micro library that determines whether a value can be expressed as JSON.
We found that json-expressible demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.