Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bug #21165 [Serializer] int is valid when float is expected when dese…
…rializing JSON (dunglas) This PR was squashed before being merged into the 3.1 branch (closes #21165). Discussion ---------- [Serializer] int is valid when float is expected when deserializing JSON | Q | A | ------------- | --- | Branch? | 3.1 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | api-platform/api-platform#37 | License | MIT | Doc PR | n/a JSON only has a Number type corresponding to both `int` and `float` PHP types. PHP's `json_encode`, JavaScript's `JSON.stringify`, Go's `json.Marshal` as well as most other JSON encoders convert floating-point numbers like `12.0` to `12` (the decimal part is dropped when possible). PHP's `json_decode` automatically converts Numbers without a decimal part to integers. Actually, the Serializer rejects integers when a float is expected, this PR fixes this behavior when denormalizing JSON-based formats. Port of api-platform/core#714. /cc @gorghoa @Shine-neko Commits ------- 4125455 [Serializer] int is valid when float is expected when deserializing JSON
- Loading branch information