1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| JSON.stringify({}); JSON.stringify(true); JSON.stringify('foo'); JSON.stringify([1, 'false', false]); JSON.stringify([NaN, null, Infinity]); JSON.stringify({ x: 5 });
JSON.stringify(new Date(2006, 0, 2, 15, 4, 5))
JSON.stringify({ x: 5, y: 6 });
JSON.stringify([new Number(3), new String('false'), new Boolean(false)]);
let a = ['foo', 'bar']; a['baz'] = 'quux'; JSON.stringify(a);
JSON.stringify({ x: [10, undefined, function(){}, Symbol('')] });
JSON.stringify([new Set([1]), new Map([[1, 2]]), new WeakSet([{a: 1}]), new WeakMap([[{a: 1}, 2]])]);
JSON.stringify([new Int8Array([1]), new Int16Array([1]), new Int32Array([1])]);
JSON.stringify([new Uint8Array([1]), new Uint8ClampedArray([1]), new Uint16Array([1]), new Uint32Array([1])]);
JSON.stringify([new Float32Array([1]), new Float64Array([1])]);
JSON.stringify({ x: 5, y: 6, toJSON(){ return this.x + this.y; } });
JSON.stringify({ x: undefined, y: Object, z: Symbol('') });
JSON.stringify({ [Symbol('foo')]: 'foo' });
JSON.stringify({ [Symbol.for('foo')]: 'foo' }, [Symbol.for('foo')]);
JSON.stringify({ [Symbol.for('foo')]: 'foo' }, function(k, v) { if (typeof k === 'symbol') { return 'a symbol'; } });
JSON.stringify( Object.create(null, { x: { value: 'x', enumerable: false }, y: { value: 'y', enumerable: true } }) );
|