[英]How do I parse this json response object?
我有以下類型的json響應:
[{
cat_name : value
post : [{
title:value
image:value
content:value
},
{
title:value
image:value
content:value
},
{
title:value
image:value
content:value
}]
},{
cat_name : value
post : [{
title:value
image:value
content:value
},
{
title:value
image:value
content:value
}]
},
{
cat_name : value
post : [{
title:value
image:value
content:value
}]
}]
等等...
我嘗試了以下方法-
將響應對象存儲在數組(responseArray)中。 首先實現從0到responseArray.count的for循環,將post的值存儲在數組(postArray)中。 在第一個循環中,我實現了從0到postArray.count的第二個循環,並返回了postarray.count的count值。
編輯-添加循環
for (int i = 0; i < responseArrayList.count; i++) {
postArrayList = [[responseArrayList objectAtIndex:i] valueForKey:@"post"];
for (int j = 0; j < postArrayList.count; j++) {
return postArrayList.count;
}
}
它發出警告,第二個循環不會增加,只會運行一次。
如何設置numberOfRowsInSection的返回值?
從第二個循環中刪除行
返回postArrayList.count;
如果您的方法想要返回某些內容,請在for循環之外添加return語句。
@interface TableViewController ()
@property(nonatomic)NSArray *responseArrayList;
@end
轉換為JSON對象並將其存儲在全局變量中
- (void)viewDidLoad {
[super viewDidLoad];
myJsonString = //here your JSON string response;
self.responseArrayList = [NSJSONSerialization JSONObjectWithData:[myJsonString dataUsingEncoding:NSUTF8StringEncoding]options:0 error:NULL];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return self.responseArrayList.count;
}
- (NSInteger)numberOfRowsInSection:(NSInteger)section{
NSArray *postArrayList = [[responseArrayList objectAtIndex:section] valueForKey:@"post"];
return postArrayList.count;
}
我建議寫這樣的代碼...
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
self.myarray=dict[@"result”][@“post”];
//store the value in newObject
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"%@ my object is ",obj);
myobject *object = [[myobject alloc]init];
object.name = obj.productName;
object.image = obj.productimage;
[_myarray addObject:object];
}];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.