Comment parser JSON valeur booléenne?
J'ai un objet JSON
JSONObject jsonObject = new JSONObject();
Je suis en mesure de remplir l'objet avec succès, mais, quand j'essaie d'analyser un boolean
valeur JSON, j'obtiens une erreur:
08-28 15:06:15.809: E/Tampon d'Erreur(31857): Erreur de conversion résultat
java.lang.ClassCastException: java.lang.Entier ne peut pas être jeté à l'
java.lang.Boolean
Je fais comme ça:
boolean multipleContacts = (Boolean) jsonObject.get("MultipleContacts");
Mon objet JSON graphique est très simple, le booléen est stocké dans ma base de données en tant que champ de BITS (0 ou 1)
Comment puis-je résoudre ce problème ?
Voici mon JSON:
{
"ACCOUNT_EXIST": 1,
"MultipleContacts": 0
}
Ceux qui ne sont pas de type boolean. JSON Accepte les valeurs booléennes true et false.
OriginalL'auteur meda | 2013-08-28
Vous devez vous connecter pour publier un commentaire.
Un booléen n'est pas un nombre entier;
1
et0
ne sont pas des valeurs booléennes en Java. Vous aurez besoin de les convertir explicitement:ou sérialiser les services de renseignements comme des booléens depuis le début.
0 !=
[...]. Au moins, il est dans presque toutes les langues.Plus précisément, "Contrairement à de nombreux dérivés du C, les langues, en Java, un booléen n'est pas un entier..."
OriginalL'auteur Matt Ball
Essayez ceci:
OriginalL'auteur VM4
Vous pouvez lancer cette valeur à une valeur Booléenne d'une manière très simple: en la comparant avec la valeur entière 1, comme ceci:
Si c'est une Chaîne, vous pourriez faire ceci:
JSONObject#getInt()
?Ce n'est pas vraiment - j'ai juste donné une réponse qui pourrait s'adapter à un code qui n'était même pas à l'aide de JSON.
OriginalL'auteur Mauren
Essayez ceci:
OriginalL'auteur jomaac