Sto sviluppando un'applicazione Android che utilizza JSON per la comunicazione con il server e ho uno strano problema quando sto cercando di analizzare il mio file json.JSON jsonObject.optString() restituisce String "null"
Questo è il mio JSON dal server
{
"street2": null,
"province": null,
"street1": null,
"postalCode": null,
"country": null,
"city": null
}
sto ottenendo il valore per Città chiamando String city = address.optString("city", "")
sul mio indirizzo JSON-oggetto. Per questa situazione mi aspetto che lo city
sia vuoto (questo è ciò che optString è qui per non è vero?) Ma in realtà contiene la stringa "null". Quindi ulteriori controlli null o isEmpty restituiranno false poiché la stringa contiene testo. Se chiamo address.isNull("city")
restituisce vero che è corretto. Solo optString
non riesce.
Non ho trovato nulla su Google o StackOverflow per questo problema. Non capisco davvero come possa accadere come pensavo che lo optString
avrebbe fatto esattamente quello che mi aspettavo. Qualcuno sa cosa sta andando storto qui?
'null' è un valore valido per una stringa in java (e ogni altro linguaggio di programmazione che conosco), quindi ha senso che non scelga il fallback, se la chiave semplicemente non esistesse, ci vorrebbe il fallback – x4rf41
Grazie. Non è il comportamento che mi aspettavo da _optString_ ma sembra che lo sviluppatore avesse in mente qualcosa di diverso. Devo fare il controllo da solo. – joshplusa