Elytrium / java-serializer

Java Library to (de-)serialize data in various formats (e.g. JSON, YAML)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Invalid serialization if single double quotation mark is present

BoomEaro opened this issue · comments

If you insert only one double quotation mark in the field like this:

test-section:
  # Some description for this test value1
  value-test: "
  # Some description for this test value2
  value-test-2: "test2"

The result of the serialization will be as follows:

test-section:
  # Some description for this test value1
  value-test: " # Some description for this test value2 value-test-2: "
  # Some description for this test value2
  value-test-2: "test2"

It looks like reader keeps looking for the next double quote even when the next field starts.

Configuration used:

public class TestSettings extends YamlSerializable {

    @Transient
    private static final SerializerConfig CONFIG = new SerializerConfig.Builder()
            .setCommentValueIndent(1)
            .build();
    @Transient
    public static final TestSettings IMP = new TestSettings();

    public TestSettings() {
        super(CONFIG);
    }

    public TEST_SECTION TEST_SECTION = new TEST_SECTION();

    public static class TEST_SECTION {

        @Comment(value = {
                @CommentValue("Some description for this test value1"),
        }, at = Comment.At.PREPEND)
        public String VALUE_TEST = "test1";

        @Comment(value = {
                @CommentValue("Some description for this test value2"),
        }, at = Comment.At.PREPEND)
        public String VALUE_TEST2 = "test2";

    }
}