Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Comments

Close side panel

Adding encoding as parameter to methods deserialize and serialize#253

Open
leocampos wants to merge 1 commit intojson-iterator:masterjson-iterator/java:masterfrom
leocampos:masterleocampos/java:masterCopy head branch name to clipboard
Open

Adding encoding as parameter to methods deserialize and serialize#253
leocampos wants to merge 1 commit intojson-iterator:masterjson-iterator/java:masterfrom
leocampos:masterleocampos/java:masterCopy head branch name to clipboard

Conversation

@leocampos
Copy link

This pull request tries to address the issue #229

Especially with so many managed services on the Cloud, some of which we do not have any control over the initialization of the JVM, it is important to be able to control the encoding used by the library. I faced recently the problem of having one of these managed services in US-ASCII, but our Strings were encoded with UTF-8. All special characters were transformed to "?".

@TheNeuralBit
Copy link

@taowen is there any chance this could get merged? it's fixing a pretty big issue

@leocampos
Copy link
Author

BTW, we are mostly starting to migrate to another JSON parser in which the development is more active.

@pradeepcheers
Copy link

@leocampos what's the name of the new JSON parser that you mentioned the development is active

@leocampos
Copy link
Author

@pradeepcheers We are currently using Jackson.
https://github.com/FasterXML/jackson.

The approach we took, though, was to wrap it around a class of ours, so we can later choose the library and change it in a single place.

@Brixomatic
Copy link

Brixomatic commented Aug 16, 2022

For UTF-16 this PR crashes with:

com.jsoniter.spi.JsonException: read: premature end, head: 1, peek: �, buf: �� { " n a m e " : " T h o m a s  M � l l e r " }
	at com.jsoniter/com.jsoniter.JsonIterator.reportError(JsonIterator.java:143)
	at com.jsoniter/com.jsoniter.JsonIterator.readAny(JsonIterator.java:272)
	at com.jsoniter/com.jsoniter.JsonIterator.deserialize(JsonIterator.java:522)
	at com.jsoniter/com.jsoniter.JsonIterator.deserialize(JsonIterator.java:505)
	at com.jsoniter/com.jsoniter.TestString.test_encoding_different_than_default(TestString.java:41)

Also the test does not work for Java 17 modules as reflective access to Charset.defaultCharset is prohibited.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.