我正在尝试将String转换为Java Map,但遇到以下异常
错误的JSON异常**
这是我尝试Map的字符串。
String myString = "{name=Nikhil Gupta,age=23,location=234Niwas@res=34}"
Map innerMap = new Gson().fromJson(myString,Map.class);
我明白了这里的主要问题,因为这些特殊字符,我得到了这个错误。如果我删除这些空格和特殊字符,那么它将工作正常。
有没有办法在不删除这些空格和特殊字符的情况下执行此操作?
到目前为止使用的方法。
用单引号将这些字符串与特殊字符 Package 在一起。
String myString = "{name='Nikhil Gupta',age='23',location='234Niwas@res=34'}"
但是我不想在生产环境中使用它,因为它不适用于嵌套结构。
在java中有没有真正的方法来处理这个问题?
1条答案
按热度按时间jc3wubiy1#
我明白了这里的主要问题,因为这些特殊字符,我得到了这个错误。
不,这不是因为“特殊字符”(不管它的确切含义是什么)。
您试图解析的字符串不是JSON格式,而是其他一些表面上类似JSON的格式。您通过将值用单引号括起来进行的修复仍然不能使其成为JSON。
如果它是有效的JSON,则如下所示:
与原始版本的显著差异:
:
而不是等号=
分隔解决方法: