如何使用JSONModel序列化自定义对象?
@property(nonatomic,strong) NSString<Optional> * tag_post_type;
@property(nonatomic,strong) NSString<Optional> * tag_users_type;
@property(nonatomic,strong) NSArray<Optional> * tags;
@property(nonatomic,strong) NSMutableArray<TagMediaModel*>* tag_posts;
@property(nonatomic,strong) NSMutableArray<TagLocationModel*>* locations;
我尝试使用适用于iOS的JSONModel框架从我的自定义Object中创建一个JSON文件。我收到错误:
EXCEPTION: Invalid type in JSON write (TagMediaModel)
当我调用JSONString方法时,我遇到了这个问题。
[tagAutomaticModel toJSONString];
这是模型数据:
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 :(得分:1)
@property(nonatomic,strong) NSMutableArray<TagMediaModel>* tag_posts;
如上所述进行了一些更改,只是删除了TagMediaModel中的星号。
答案 1 :(得分:0)
NSMutableArray包含协议后的尖括号。正如@ R.Mohan所说,您需要remove
* pointer
并使用without pointer
。
@protocol tag_posts
和@protocol locations
。EXCEPTION: Invalid type in JSON write (TagMediaModel)
我猜您是将json转换为自定义类一次或多次。只做一次。它将解决您的问题。