mesajını kaldırırken kabul edilmiyor Bir iletiyi seri hale getirmeye çalışıyorum ve aşağıdaki ifade için bir istisna alıyorum. Bu kod iyi çalışıyor eğik çizgi kaldırırsanızileri eğik çizgisi, json
Object key = gson.fromJson("40280381-3d27-5493-013d-4be146935c5c_abcdefg/ijklmnop", Class.forName("java.lang.String"));
istisna, dize değeri /
nedeniyle gerçekleşiyor. Ama dize değerinde /
'a ihtiyacım var, lütfen bana bu konuda yardım edin.
Gerçek Yöntem
private void fillTheMap(JsonParser jp, Map<Object, Object> map) {
JsonToken jt = jp.nextToken();
while ((jt = jp.nextToken()) != JsonToken.END_ARRAY) {
// Get the key.
jt = jp.nextToken();
String keyTypeName = jp.getCurrentName();
keyTypeName = keyTypeName.replace(":mapKey", "");
Class keyType = Class.forName(keyTypeName);
jt = jp.nextToken();
Object key = gson.fromJson(jp.getText(), keyType);
Object value = deSerIze(jp);
map.put(key, value);
jt = jp.nextToken();
}
}
İstisna
com.google.gson.stream.MalformedJsonException: Kullanım JsonReader.setLenient (true) kabul etmek hatalı biçimlendirilmiş JSON
'gson.fromJson' ... Sorun eğik çizgi değil, tüm dizgidir ... JSON –
değil ne istersen .. Gson'u dönüştürmek için Bir String içine string? Lütfen gerçek kodunuzu ve JSON nesnesini gerçekte [mcve] –
Hayır olarak gösterin. Ne yaptığını görmüyor musun? Zaten bir dizgin var. Neden Gson ile serip atmaya çalışıyorsun? –