我需要将一些以编程方式生成的字符串转换为有效的 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 那样描述验证消息的工具?我需要将它呈现给最终用户。
提前致谢!