我有應該轉換回Map類型的json字符串。Json:使用Gson庫時的反序列化錯誤
的Json使用:即轉換JSON
String jsonString = "{
"varA": "<math><mrow><mn>8</mn></mrow></math>",
"varB": "<math><mrow><mi>m</mi></mrow></math>",
"ans": "<math><mrow><mn>8</mn><mo>⁢</mo><mi>m</mi></mrow></math>"
}"
守則地圖:
Map<String, String> variableMap = gson.fromJson(jsonString, new TypeToken<Map<String,String>>(){}.getType());
錯誤:
[ERROR] The JsonDeserializer StringTypeAdapter failed to deserialize json object {"varA":"<math><mrow><mn>8</mn></mrow></math>","varB":"<math><mrow><mi>m</mi></mrow></math>","ans":"<math><mrow><mn>8</mn><mo>⁢</mo><mi>m</mi></mrow></math>"} given the type class java.lang.String
我知道它有什麼做的類型,但我已經表明類型標記中顯式的類型將是String。
的GSON對象聲明如下:
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
解串可能是不喜歡有特殊字符< and >。您可能需要對它們進行編碼,我猜... – Vishwanath