
Security News
Deno 2.4 Brings Back deno bundle, Improves Dependency Management and Observability
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
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.
The npm package json-expressible receives a total of 3 weekly downloads. As such, json-expressible popularity was classified as not popular.
We found that json-expressible demonstrated a not healthy version release cadence and project activity because the last version was released 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
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.