Skip to content

Jsoniter fails serializing string #207

@rabbee

Description

@rabbee
Exception in thread "main" com.jsoniter.spi.JsonException: Broken surrogate pair: first char 0xd83d, second 0xd83d; illegal combination
	at com.jsoniter.output.StreamImplString.writeStringSlowPathWithoutEscapeUnicode(StreamImplString.java:179)
	at com.jsoniter.output.StreamImplString.writeStringSlowPath(StreamImplString.java:142)
	at com.jsoniter.output.StreamImplString.writeString(StreamImplString.java:93)
	at com.jsoniter.output.JsonStream.writeVal(JsonStream.java:146)
	at com.jsoniter.output.CodegenImplNative$1$17.encode(CodegenImplNative.java:214)
	at com.jsoniter.output.JsonStream.writeVal(JsonStream.java:362)
	at com.jsoniter.output.ReflectionObjectEncoder.writeEncodeTo(ReflectionObjectEncoder.java:121)
	at com.jsoniter.output.ReflectionObjectEncoder.enocde_(ReflectionObjectEncoder.java:74)
	at com.jsoniter.output.ReflectionObjectEncoder.encode(ReflectionObjectEncoder.java:37)
	at com.jsoniter.output.JsonStream.writeVal(JsonStream.java:381)
	at com.jsoniter.output.JsonStream.serialize(JsonStream.java:490)
	at com.jsoniter.output.JsonStream.serialize(JsonStream.java:470)
	at me.rabbee.test.Main.main(Main.java:16)

Codes:

import com.jsoniter.output.JsonStream;
import com.jsoniter.spi.Config;
import com.jsoniter.spi.Config.Builder;
import com.jsoniter.spi.JsoniterSpi;

public class Main {

    public static void main(String[] args) {
        Config.Builder builder = new Builder();
        Config config = builder.escapeUnicode(false).build();
        JsoniterSpi.setDefaultConfig(config);
        Test test = new Test();
        test.test = "lorem-\uD83D\uDC44\uD83D\uDC40";
        String json = JsonStream.serialize(test);
        System.out.println(json);
    }

    public static class Test {

        public String test;

        public Test() {
        }
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions