Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gson&x201C;fromJson”;_Java_Gson - Fatal编程技术网

Java Gson&x201C;fromJson”;

Java Gson&x201C;fromJson”;,java,gson,Java,Gson,Gson.fromJson(“some/url/path”,String.class)抛出格式错误的JSON异常:使用JsonReader.setLenient(true)接受格式错误的JSON。为什么gson将url字符串作为Json处理,而gson.fromJson(“simpleString”,string.class)工作正常。它不也应该把url当作字符串吗?这两个例子都是错误的,但Gson做了一些简单的猜测 如果JSON对象是字符串,则应将其引用 System.out.println(

Gson.fromJson(“some/url/path”,String.class)抛出格式错误的JSON异常:使用JsonReader.setLenient(true)接受格式错误的JSON。为什么gson将url字符串作为Json处理,而gson.fromJson(“simpleString”,string.class)工作正常。它不也应该把url当作字符串吗?

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

如果JSON对象是字符串,则应将其引用

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


如果JSON字符串不带引号,则它将仅适用于单个字母数字序列,即使是斜杠也会打破Gson对类型的猜测。

我建议在调试器中单步执行代码,以准确查看导致异常的原因-可能它们采用不同的代码路径/重载?我很惊讶
simpleString
没有被视为格式错误。根据,它应该是无效的。是什么让您认为字符串参数被视为URL?的文档非常清楚地指定字符串值是JSON文本本身。由于
some/url/path
不是有效的JSON,它当然会被拒绝!!