From 6269bf562d9ddeea7f8a4dda72a9a8268b7e0c3a Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 7 Sep 2021 16:00:20 +0200 Subject: [PATCH] [jOOQ/jOOQ#12249] Support parsing Oracle 21c's JSON construction convenience syntax --- .../main/java/org/jooq/impl/ParserImpl.java | 26 +------------------ 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 47a9213c54..ca7ce921fa 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -8500,7 +8500,7 @@ final class DefaultParseContext extends AbstractScope implements ParseContext { return jsonObject(); List> entries = parseList(',', ctx -> { - String key = parseJSONIdentifier(); + Field key = parseField(); parse(':'); return key(key).value(parseField()); }); @@ -8523,30 +8523,6 @@ final class DefaultParseContext extends AbstractScope implements ParseContext { return null; } - private final String parseJSONIdentifier() { - parse('"'); - StringBuilder sb = new StringBuilder(); - - loop: - while (hasMore()) { - switch (character()) { - case '\\': - if (hasMore(1)) - positionInc(); - - break; - case '"': - break loop; - } - - sb.append(character()); - positionInc(); - } - - parse('"'); - return sb.toString(); - } - private final Field parseFieldJSONArrayConstructorIf() { boolean jsonb = false;