API Docs for: 1.2
Show:

hoon.json Class

Defined in: src/hoon.js:328

JSON does not consider the following elements.

  • NaN
  • undefined
  • RegExp object

We expect typically JSON.parse(JSON.stringify(A)) is equal to A , but the following code does not work as expected.

JSON.parse(JSON.stringify(undefined)); // SyntaxError
JSON.parse(JSON.stringify(NaN)); // null
JSON.parse(JSON.stringify(/ab/)); // {}
JSON.parse(JSON.stringify({name: undefined})); // {}

So the goal of hoon.json is that hoon.json.parse(hoon.json.stringify(A)) is equal to A , that is,

hoon.json.parse(hoon.json.stringify(undefined)); // undefined
hoon.json.parse(hoon.json.stringify(NaN)); // NaN
hoon.json.parse(hoon.json.stringify(/ab/)); // /ab/
hoon.json.parse(hoon.json.stringify(0)); // 0
hoon.json.parse(hoon.json.stringify("undefined")); // "undefined"
hoon.json.parse(hoon.json.stringify({0: NaN, 1: undefined, 2: /ab/, 3: "undefined"})); // {0: NaN, 1: undefined, 2: /ab/, 3: "undefined"}

Item Index

Methods

Methods

parse

(
  • text
)

Defined in src/hoon.js:358

Parameters:

  • text String | Null

Example:

 hoon.json.parse(hoon.json.stringify(undefined)); // undefined
 hoon.json.parse(hoon.json.stringify(NaN)); // NaN
 hoon.json.parse(hoon.json.stringify(/ab/)); // /ab/
 hoon.json.parse(hoon.json.stringify(0)); // 0
 hoon.json.parse(hoon.json.stringify("undefined")); // "undefined"
 hoon.json.parse(hoon.json.stringify({0: NaN, 1: undefined, 2: /ab/, 3: "undefined"})); // {0: NaN, 1: undefined, 2: /ab/, 3: "undefined"}

stringify

(
  • value
)
String

Defined in src/hoon.js:406

Parameters:

  • value String | Null

Returns:

String:

Example:

 hoon.json.parse(hoon.json.stringify(undefined)); // undefined
 hoon.json.parse(hoon.json.stringify(NaN)); // NaN
 hoon.json.parse(hoon.json.stringify(/ab/)); // /ab/
 hoon.json.parse(hoon.json.stringify(0)); // 0
 hoon.json.parse(hoon.json.stringify("undefined")); // "undefined"
 hoon.json.parse(hoon.json.stringify({0: NaN, 1: undefined, 2: /ab/, 3: "undefined"})); // {0: NaN, 1: undefined, 2: /ab/, 3: "undefined"}