【发布时间】:2021-06-04 19:13:42
【问题描述】:
我正在尝试将 String 转换为 Java Map 但出现以下异常
com.google.gson.stream.MalformedJsonException
这是我要映射的字符串。
String myString = "{name=Nikhil Gupta,age=23,location=234Niwas@res=34}"
Map innerMap = new Gson().fromJson(myString,Map.class);
我理解这里的主要问题是由于这些特殊字符,我收到了这个错误。 如果我删除这些空格和特殊字符,那么它会正常工作。
有什么方法可以在不删除这些空格和特殊字符的情况下做到这一点?
目前使用的方法。
用特殊字符将这些字符串用单引号括起来。
String myString = "{name='Nikhil Gupta',age='23',location='234Niwas@res=34'}"
但这是我不想在生产环境中使用的东西,因为它不适用于嵌套结构。
在 java 中是否有一些真正的方法来解决这个问题?
【问题讨论】:
-
"但这是我不想在生产环境中使用的东西,因为它不适用于嵌套结构"你能澄清一下吗(因为这实际上是解决问题的正确方法 - 使 JSON 有效而不是弄清楚如何处理无效的)?
-
您为什么不想在生产环境中使用真正的有效 JSON?你应该努力使用标准,这样这种说法就没有什么意义了。使用有效的 JSON 语法是“真正的方式”。