Gson “fromJson”

Gson “fromJson”

Gson.fromJson(“some/url/path”, String.class) 抛出 MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON。为什么 gson 将 url 字符串视为 Json 而 Gson.fromJson(“simpleString”, String.class) 工作正常。它不应该将 url 也视为字符串吗?

这两个例子都是错误的,但是Gson做了一些简单的猜测。

如果您的 JSON 对象是一个字符串,它应该被引用。

System.out.println(gson.fromJson("\"http://some/string\"", String.class));

工作正常。

如果 JSON 字符串未被引用,它将仅适用于单个字母数字序列,即使是斜线也会破坏 Gson 对类型的猜测。