Because those are javascript primitive types, which json is built around in the first place. Date is not a javascript primitive, and is therefore not included.
If we need to follow that logic (to include useful non-primitives) we would end up with a clusterfuck of a spec that noone would want to implement.
If we need to follow that logic (to include useful non-primitives) we would end up with a clusterfuck of a spec that noone would want to implement.