NSInvalidArgumentException, raison: 'Type non valide en écriture JSON (__NSDate)'
J'obtiens cette erreur quand j'essaie d'encoder en JSON objet NSDate.Je crois NSDate n'est pas compatible pour l'encodage JSON. mais je dois encoder la date.Toutes les solutions?
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__NSDate)'
source d'informationauteur Harikrishnan
Vous devez vous connecter pour publier un commentaire.
Première stocker vos données dans NSString. Et puis convertissez votre chaîne de NSDate.
Vous pouvez vous référer DONC:
La conversion de NSString à NSDate (et retour)
NSString à NSDate problème de conversion
Comment convertir NSString à NSDate à l'aide de NSDateFormatter?
Convertir NSDate à NSString et essayez de coder.
Comme indiqué, vous devez d'abord convertir votre NSDate à un NSString. Il n'est pas immédiatement clair, cependant, le format de la date doit être représenté. La réponse peut être trouvée ici: "JSON lui-même ne précise pas la manière dont les dates doivent être représentés, mais le Javascript n'" -- ISO8601.
Voici un ISO8601 méthode de conversion à partir d'un helper catégorie pour NSDate, avec l'aimable autorisation Erica Sadun:
Si vous obtenez une ISO8601 chaîne de retour dans un JSON charge utile et que vous voulez convertir à un NSDate, utilisez cette méthode de classe pour NSDate:
Avez-vous essayé ?
Comme Décrit Ici : SDK ne supportant pas la NSDate objets
Suivez ces Suit :
1. Convertir la Date en Format JSON :
2. Incorporer Dans certains tableau et afficher le tableau.
La façon la plus simple de stocker et de récupérer un objet NSDate en JSON serait d'utiliser la timeIntervalSince1970 propriété de NSDate.
Le retour de l'NSTimeInterval (double) est assez standard et peut facilement être convertie en un objet NSDate à l'aide de:
Vous devez convertir la date en une chaîne de caractères avant d'essayer de le coder. Il y a suffisamment d'exemples partout, donc il devrait être facile à trouver
Pour notre cas, nous utilisons Manteau de convertir un objet en JSON et l'un de nos objets de la propriété NSDate est manquant son JSONTransformer
où: