2017-05-19 1 views
2

Comment sérialiser un objet personnalisé avec JSONModel? Je tente de créer un fichier JSON à partir de mon objet personnalisé avec le framework JSONModel pour iOS. J'obtiens l'erreur:Serialize JSONModel - Comment convertir un objet personnalisé en JSON dans iOS?

EXCEPTION: Invalid type in JSON write (TagMediaModel) 

Lorsque j'appelle la méthode JSONString, j'ai ce problème.

[tagAutomaticModel toJSONString]; 

Ce sont les données de modèle:

locations =  (
    "<TagLocationModel> \n [id]: 780307344\n [name]: Hotel Central Park, india\n</TagLocationModel>", 
    "<TagLocationModel> \n [id]: 463004401\n [name]: Miraj Cinema new year\n</TagLocationModel>", 
    "<TagLocationModel> \n [id]: 246187965\n [name]: Surya Treasure Island asia\n</TagLocationModel>", 
); 
"tag_posts" =  (
    "<TagMediaModel> \n [media_code]: BS0tQeFhU_Z\n [media_id]: 1492016420475981785\n [media_url]: https://scontent.cdninstagram.com/t51.2885-15/e15/17881459_...\n [media_type]: I\n</TagMediaModel>" 
); 
+0

Pouvez-vous s'il vous plaît partager quel type de données que vous avez stocké dedans? – Nirmalsinh

+0

@Nirmalsinh vérifier maintenant. J'ai édité. – shakti

Répondre

1

Les crochets après NSMutableArray contiennent un protocole. Comme @ R.Mohan a dit, vous devez remove* pointer et utiliser without pointer.

  1. Le protocole doit être en place. Donc, ajoutez @protocol tag_posts et @protocol locations en haut dans la classe respective.
  2. EXCEPTION: Invalid type in JSON write (TagMediaModel) Je suppose que vous convertissez json à votre classe personnalisée une ou plusieurs fois. Faites-le une seule fois. Cela résoudra votre problème.
+0

Oui. J'ai le problème. J'ai converti json au modèle deux fois. Merci beaucoup! – shakti

1

@property(nonatomic,strong) NSMutableArray<TagMediaModel>* tag_posts;

fait quelques changements comme ci-dessus, juste enlevé l'étoile TagMediaModel.

+0

si la suggestion ci-dessus fonctionne bien alors acceptez cette réponse. @Shakti –