在我的回复中有一段时间是
"url": {
“full_img”: "imagelink",
“id”: “1”,
“small_img”: "imagelink",
}
和一些时间数组
"url": [
{
“full_img”: "imagelink",
“id”: “1”,
“small_img”: "imagelink",
},
{
“full_img”: “imagelink”,
“id”: “2”,
“small_img”: "imagelink",
}]
在这个我创建一个JsonModel类,但我如何将url类声明为数组或对象,或者我必须为url + json创建两个类?
现在如果Url是Array那个时候我没有任何问题但是当它变成Object时它会给出错误。
错误Domain = JSONModelErrorDomain Code = 1"无效的JSON数据。 JSON类型与预期类型不匹配。检查错误用户信息。" UserInfo = {NSLocalizedDescription =无效的JSON数据。 JSON类型与预期类型不匹配。检查错误用户信息。,kJSONModelTypeMismatch =属性'url'声明为NSArray *但相应的JSON值不是JSON数组。,kJSONModelKeyPath = url
答案 0 :(得分:0)
1)你的Model类应该是这样的
@interface Image : NSObject
@property (strong,nonatomic) NSString * fullImage;
@property (strong,nonatomic) NSString * id;
@property (strong,nonatomic) NSString * smallImage;
2)你应该在Array&中保留Image
个对象。使用索引
3)使用Array的优点是可以将它与tableView
& collectionView
非常有效地使用indexpath
4)解析响应后,您可以通过检查类和&来检查响应。使模型对象如下所示
id responseData=[NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
if ([responseData isKindOfClass:[NSDictionary class]])
{
//parse response and add in imageArray
}
else if ([responseData isKindOfClass:[NSArray class]])
{
//parse each object by enumerating the array & add the parsed object in Image Array
}
您无需创建两个对象,而是可以重复使用它们
Image
对象