As far as I know the JSON format is basically "JavaScript" and as such it does not reliably know whether a string that could be a number, or a number that could be a string, are one fundamental type or another.
Comment on Re: Can I prevent JSON encode from converting values