Comment vérifier si JSON est null dans swift?
Je suis actuellement en train de travailler sur une application qui ramène json, dans le format suivant
"location_subtype" = "somevalue";
"location_type" = Force;
mois = "2015-01";
"outcome_status" = {
catégorie = "somevalue";
date = "somevalue";
};
si le "outcome_status" a de la valeur, il montre la catégorie et la date toutefois, si la "outcome_value" n'a aucune valeur(qui est dans la plupart des cas), il est montré ci-dessous
"location_subtype" = "somevalue";
"location_type" = Force;
mois = "2015-01";
"outcome_status" = "";
"persistent_id" = "";
La question est de savoir comment puis-je vérifier si la valeur de outcome_status n'est pas "null"?
j'ai essayé ce qui suit pour stocker la catégorie et la date sur l'étiquette, mais il s'exécute dans l'erreur, la première si l'instruction doit vérifier si la valeur n'est pas null, et si elle n'est pas aller à la prochaine instruction if. Cependant il continue à la prochaine instruction if et j'obtiens l'erreur suivante
Thread 1: EXC_BAD_ACCESS(code=2, address=0x102089600)
if (dict["outcome_status"] != nil)
{
if ((dict["outcome_status"]as NSDictionary)["category"] != nil)
{
outcomeStatusLabel.text = ((dict["outcome_status"]as NSDictionary)["category"] as NSString)
outcomeStatusLabel.font = UIFont.systemFontOfSize(14.0);
outcomeStatusLabel.numberOfLines = 0
}
if ((dict["outcome_status"]as NSDictionary)["date"] != nil)
{
outcomeDateLabel.text = ((dict["outcome_status"]as NSDictionary)["date"] as NSString)
outcomeDateLabel.font = UIFont.systemFontOfSize(14.0);
outcomeDateLabel.numberOfLines = 0
}
}
Si je retire la 1ère instruction si il ne se bloque lorsque "outcome_status" = "null" et fonctionne parfaitement bien si il y a un peu de valeur dans "outcome_status"
Que dois-je faire pour qu'il cesse de à la 1ère instruction if si la valeur est = null?
Vous en remercie d'avance.
if (dict["outcome_status"] as NSString != "")
il se bloque toujours.OriginalL'auteur chirag90 | 2015-03-25
Vous devez vous connecter pour publier un commentaire.
Essayer quelque chose comme cela:
Code Swift:
C'est un moyen sûr de travailler avec Json.
Génial ... je n'avais pas été la manipulation triste parcours et mes applications ont été s'écraser sur le triste chemin :/
Cet exemple fonctionne avec des cordes... mais avec un autre type ne fonctionne pas. Je pense que la meilleure solution est @NunoFerro stackoverflow.com/a/37468020/4693765
Vous avez besoin de prêter attention dans le code, il y a un type d'opérateur de cast (
as?
) qui va essayer de modifier le contenu json être une chaîne de caractères (si pas de retournil
), dit que, si votre contenu json n'est pas une chaîne, vous devez modifier le type.Vous devez payer plus d'attention à la question titre. "Comment vérifier si Json est null dans swift?" pas si est une chaîne ou d'un autre type. J'ai jusqu'voter parce que c'est pas mal du tout.
OriginalL'auteur Vagner
OriginalL'auteur Nuno Ferro
Essayer correspondant Swift classe pour Objectif suivant classe C,
OriginalL'auteur sleepwalkerfx
dans le cas où vous utilisez Alamofire et JSONSubscriptType utiliser ceci:
OriginalL'auteur Alex Delgado