gpt4 book ai didi

java - 是否有一个 JSON 解析器可以准确告诉格式错误的 json 中的错误位置?

转载 作者:行者123 更新时间:2023-12-01 04:26:08 26 4
gpt4 key购买 nike

我需要将以编程方式生成的一些字符串转换为有效的 JSON。

我使用 Gson 以这种方式验证 json 字符串:

try{
new com.google.gson.JsonParser().parse("{\"data\":\\\"some data...\"}");
}catch(JsonParseException e){
System.out.println(e.getMessage());
}

我知道这个 json 不对,但我需要实现一种方法来知道错误到底在哪里。如果我在 jsonlint 中验证该字符串,则显示的错误为:

Parse error on line 2:
{ "data": \"somedata..."}
-------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['

但是,Gson 显示的异常消息并不具有描述性:

com.google.gson.stream.MalformedJsonException: Expected value at line 1 column 9

那么,java中有没有像jsonlint这样具有描述性的工具来验证消息?我需要将其呈现给最终用户。

提前致谢!

最佳答案

试试这个:

try{
JsonObject root = (JsonObject)new JsonParser().parse("{\"data\":\"some data...\"}");
System.out.println(root.toString());
}catch(JsonParseException e){
System.out.println(e.getMessage());
}

关于java - 是否有一个 JSON 解析器可以准确告诉格式错误的 json 中的错误位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18477401/

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