Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for unicode escape sequences in fromJSON #3305

Merged
merged 2 commits into from Jan 7, 2020

Conversation

@knl
Copy link
Contributor

@knl knl commented Jan 6, 2020

As fromTOML supports unicode escape sequences, bring fromJSON on par. JSON defaults
to UTF-8 encoding (every JSON parser must support UTF-8), thus this change parses the
u hex hex hex hex sequence (escaped u followed by 4 hexadecimal digits) into an
UTF-8 representation.

Add a test to verify correct parsing, using all escape sequences from json.org.

Caught by @basvandijk while debugging Hydra issue, where JSON strings coming from GitHub contained \ u (on purpose written with a space in between to avoid this Hydra issue), which prevented the evaluation of any jobset in a project, as JSON parsing was failing.

Fixes #2257

knl added 2 commits Jan 6, 2020
As fromTOML supports \u and \U escapes, bring fromJSON on par. As JSON defaults
to UTF-8 encoding (every JSON parser must support UTF-8), this change parses the
`\u hex hex hex hex` sequence (\u followed by 4 hexadecimal digits) into an
UTF-8 representation.

Add a test to verify correct parsing, using all escape sequences from json.org.
@edolstra edolstra merged commit 04bbfa6 into NixOS:master Jan 7, 2020
@edolstra
Copy link
Member

@edolstra edolstra commented Jan 7, 2020

Thanks!

dtzWill added a commit to dtzWill/nix that referenced this pull request Jan 7, 2020
…rings

Add support for unicode escape sequences in fromJSON

(cherry picked from commit 04bbfa6)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

2 participants
You can’t perform that action at this time.