Hi, I would like to add a new option to JSON for dealing with large floats. The use case is mainly for decoder but can be used for encoder as well.
JSON_FLOAT_AS_STRING decode: all float values will be decoded as string - It's often an issue for very large float values with many fractional digits that are coming from platforms that support larger float representation than double. In that case the conversion is lost and there is no way how to get it back (see http://bugs.php.net/68456 [pls ignore my initial dump comments when I didn't get the issue :)] and an example of the lost precision here http://3v4l.org/80iCh ). Converting the value to string keep the precision and resolves the problem. encode: all float values will be encoded as string - re-using the constant for encoder makes sense if PHP creates JSON for platform that support lower float type (e.g. C float) and the precision loss is not acceptable I think that this is more a bugfix as the precision is lost without any way how to get it back (except pre-processing json string with regular expression). I would like to add it to 5.6.x if there are no objections? Cheers Jakub