hoon.json Class
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"}
Methods
parse
(
-
text
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
(
String
-
value
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"}