Skip to content

JsonNodeAdapter is not nullsafe #454

@zzl221000

Description

@zzl221000

version main

public class TestNullJsonObject {
    @Json
    @Data
    @AllArgsConstructor(staticName = "of")
    @NoArgsConstructor
    public static class WrapJsonObject {
        private JsonObject json;
    }

    public static void main(String[] args) {
        var jsonb = Jsonb.builder().build();
        jsonb.type(WrapJsonObject.class).fromJson("{\"json\":null}");

    }
}

result:

Exception in thread "main" io.avaje.json.JsonDataException: Expecting '{' as object start, instead found 'u' at position: 10, following: `{"json":nu`, before: `ll}`
	at io.avaje.json.stream.core.JParser.newParseError(JParser.java:1079)
	at io.avaje.json.stream.core.JParser.readStartObject(JParser.java:1034)
	at io.avaje.json.stream.core.JParser.startObject(JParser.java:1040)
	at io.avaje.json.stream.core.JsonReadAdapter.beginObject(JsonReadAdapter.java:56)
	at io.avaje.json.node.adapter.ObjectAdapter.fromJson(ObjectAdapter.java:40)
	at io.avaje.json.node.adapter.ObjectAdapter.fromJson(ObjectAdapter.java:16)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions