On Mon, 17 Aug 2026 21:49:53 GMT, Naoto Sato <[email protected]> wrote:

>> This PR implements [JEP 540: Simple JSON API 
>> (Incubator)](https://openjdk.org/jeps/540).
>> 
>> It adds the `jdk.incubator.json` module which provides APIs for reading and 
>> writing JSON documents as specified by [RFC 
>> 8259](https://datatracker.ietf.org/doc/html/rfc8259). This is an incubating 
>> API.
>> 
>> API documentation: 
>> https://cr.openjdk.org/~naoto/json/javadoc/api/jdk.incubator.json/module-summary.html
>> Co-authored-by: Justin Lu 
>> ([@justin-curtis-lu](https://github.com/justin-curtis-lu))
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Naoto Sato has updated the pull request with a new target base due to a merge 
> or a rebase. The pull request now contains 741 commits:
> 
>  - Merge remote-tracking branch 'jdk-sandbox/json' into 
> JDK-8381976-Implementation-for-Simple-JSON-API
>  - Clarifications for behavior of JsonString.of
>  - Make Utils.toPath iterative
>  - consolidated append('\\')
>  - in.clone()
>  - Reflecting comments
>  - Tests for non-sealed sub-interfaces
>  - Clean up duplicate member name message on parsing
>  - Ensure that JS created from factory do not produce faulty paths
>  - Minor Javadoc cleanup as pointed out in review
>  - ... and 731 more: https://git.openjdk.org/jdk/compare/f5a59340...5f7263b9

src/jdk.incubator.json/share/classes/jdk/incubator/json/impl/JsonParser.java 
line 128:

> 126:             var name = parseName(startO);
> 127:             var nameLine = line;
> 128:             var nameLineStart = lineStart;

Most of the usages of `var` are fine, a few more, like here, are a bit annoying 
as I have to zoom out quite a bit to see if name is a String, a JsonString, or 
something else.

src/jdk.incubator.json/share/classes/jdk/incubator/json/impl/JsonParser.java 
line 139:

> 137:                 throw failure(nameStart, nameLine, nameLineStart,
> 138:                     "Duplicate member name: \"%s\" was already 
> parsed".formatted(name), startO, true);
> 139:             }

If there is a duplicate member then it might be simpler to just throw and not 
attempt to parse its value.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/32282#discussion_r3801583165
PR Review Comment: https://git.openjdk.org/jdk/pull/32282#discussion_r3801576654

Reply via email to