To mój StringjsonObject.addProperty metodą jest dodawanie niepotrzebnych cudzysłów i ukośniki do jego wartość
String currentTokenNo = "/SUeSjUf0A0aLFr+wVIZbw==\nLmmWtgHZ90yH0NBoATYB/A"
Dodałem ten ciąg do mojego JsonObject
który jest klasą com.google.gson.JsonObject pakietu
JsonObject jsonToSubmit = new JsonObject();
try {
jsonToSubmit.addProperty("token", currentTokenNo);
} catch (Exception e) {
e.printStackTrace();
}
Ale gdy loguję mój String
i JsonObject
Log.d("mainactivityjson", "Current Token No : "+currentTokenNo);
Log.d("mainactivityjson", "jsonToSubmit : "+jsonToSubmit);
znalazłem wynik
D/mainactivityjson: Current Token No : "/SUeSjUf0A0aLFr+wVIZbw==\nLmmWtgHZ90yH0NBoATYB/A"
D/mainactivityjson: jsonToSubmit : {"token":"\"/SUeSjUf0A0aLFr+wVIZbw==\\nLmmWtgHZ90yH0NBoATYB/A\""}
Teraz moje pytanie:
Dlaczego te cudzysłów i ukośniki są dodawane do wartości JsonObject
? Czy istnieje jakikolwiek odpowiedni powód?
To naprawdę utrudnia proces sprawdzania wartości String po stronie serwera.
Zrobiłem tymczasowe rozwiązanie, aby wykonać zadanie poprzez przycinanie pojedynczy znak z obu stron jak po
jsonToSubmit.addProperty("token",currentTokenNo.substring(1,currentTokenNo.length()-1));
To działało idealnie Ale nie sądzę, że to lepszy pomysł na przyszłość !! !
Dodatkowe informacje:
Zmienna currentTokenNo
nie jest zadeklarowana bezpośrednio, jak pokazano powyżej, została pobrana z SharedPreferences
& Jeżeli zostanie ogłoszony bezpośrednio potem wszystko działa poprawnie.
String currentTokenNo = preferences.getString(LOGINCRED_TOKEN,"");
Jeśli ta sama zmienna zostanie zadeklarowana bezpośrednio, wszystko działa poprawnie.
Każdy rodzaj pomocy zostanie doceniony.
Czy jesteś pewien, że zmienna 'currentTokenNo' jest zadeklarowana jako' String'? – miensol
@miensol tak, jestem pewien! Jest generowana zaszyfrowana forma ciągu znaków. –
Jaki rodzaj ciągu znaków przechodzisz? Czy char, const char, coś w tym stylu? Czy masz jakieś kodowanie, takie jak UTF8 lub akademik, wskazane w dowolnym miejscu? Wiecie, że to dziwne pytanie, tylko lepiej zrozumieć, co przechodzicie, – iSkore