gpt4 book ai didi

java - Json 解析器在 Java 中捕获尾随逗号?

转载 作者:行者123 更新时间:2023-11-30 08:35:54 25 4
gpt4 key购买 nike

我使用以下方法检查 json 文件是否有效:

JsonParser parser = new JsonParser();   
parser.parse(new String(Files.readAllBytes(Paths.get((filePath.toString())))));

但是我正在验证的 json 文件有如下所示的尾随逗号,它不会抛出异常:

"file":"hello.htm"},]

因为这是最后一个属性,所以不需要逗号,并且会在我们应用程序的其他区域造成麻烦。是否有解析器或某种方法来捕捉这个尾随逗号?

最佳答案

假设 JsonParser 是 Gson 的一部分,那么您现在运气不好。 Gson 的解析当前将 JSON 数组中的尾随逗号解释为 null 值。 It's wrong and a resolution seems to be planned for Gson 3 .

同时,您可以使用不同的解析库。我建议 jackson 。如果您只是验证 JSON,您可以使用

ObjectMapper mapper = new ObjectMapper();
mapper.readTree(Files.readAllBytes(Paths.get(filePath.toString())));

这将抛出一个异常,消息类似于

Unexpected character (']' (code 93)): expected a value

表明它期望在 , 之后有一个实际值,而不是结束数组符号。

关于java - Json 解析器在 Java 中捕获尾随逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37977130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com