[英]Conversion of String into Map in Java With Some Special Characters
我正在嘗試將字符串轉換為 Java Map 但得到以下異常
com.google.gson.stream.MalformedJsonException
這是我試圖 Map 的字符串。
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 中是否有一些真正的方法來解決這個問題?
我理解這里的主要問題是由於這些特殊字符,我收到了這個錯誤。
不,這不是因為“特殊字符”(無論這意味着什么)。
{name=Nikhil Gupta,age=23,location=234Niwas@res=34}
您要解析的字符串根本不是 JSON 格式,而是表面上類似於 JSON 的其他格式。 通過將值括在單引號中的修復仍然不能使它成為 JSON。
如果它是有效的 JSON,它將如下所示:
{"name":"Nikhil Gupta","age":23,"location":"234Niwas@res=34"}
與您原來的顯着差異:
:
而不是等號=
解決方法:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.