我一直在和JSONModel合作,这些教程很有意义。他们解析JSON包含一个具有多个索引的数组。
我想确保JSONModel被允许用于这个数据集: https://gist.github.com/ryancoughlin/8043604
tide
不是数组对吗?但是还有tide.tideSummary
--它包含了多天的潮汐数据。
AllTide.h
#import "JSONModelLib.h"
#import "Tide.h"
@interface AllTide : JSONModel
@property (strong,nonatomic) NSDictionary<Tide> *tide;
@end
Tide.h
#import "JSONModelLib.h"
#import "TideSummaryStats.h"
@protocol Tide @end
@interface Tide : JSONModel
@property (nonatomic, strong) NSArray<TideSummaryStats> *tideSummaryStats;
@end
TideSummaryStats.h
#import "JSONModelLib.h"
@protocol TideSummaryStats @end
@interface TideSummaryStats : JSONModel
@property (nonatomic, strong) NSString *maxheight;
@property (nonatomic, strong) NSString *minheight;
@end
TideDetailViewController -显示单个位置(详细信息视图)与多个位置的列表
@interface TideDetailViewController () {
AllTide *_objTide;
}
@end
@implementation TideDetailViewController
- (void)viewDidAppear:(BOOL)animated {
NSString *locationQueryURL = @"http://api.wunderground.com/api/xxxxx/tide/geolookup/q/43.5263,-70.4975.json";
//fetch the feed
_objTide = [[AllTide alloc] initFromURLWithString:locationQueryURL completion:^(JSONModel *model, JSONModelError *err) {
NSLog(@"Tides: %@", _objTide.tide);
}];
}
我读过几个JSONModel教程,这是有道理的,我认为我的JSON格式与教程不同的地方有问题。同样,我的tide
不返回数组。
这是利用JSONModel密钥映射器的一个很好的例子吗?
有什么想法吗?如果我还能提供什么,请告诉我。一直潜入水中寻求指导,但有点卡住了。提前感谢!
发布于 2013-12-28 09:41:59
你不需要AllTide.h
试试这个:
TideDetailViewController -显示单个位置(详细信息视图)与多个位置的列表
@interface TideDetailViewController () {
NSArray *arrTide;
}
@end
@implementation TideDetailViewController
- (void)viewDidAppear:(BOOL)animated {
NSString *locationQueryURL = @"http://api.wunderground.com/api/xxxxx/tide/geolookup/q/43.5263,-70.4975.json";
//fetch the feed
[JSONHTTPClient getJSONFromURLWithString: locationQueryURL
completion:^(NSDictionary *json, JSONModelError *err) {
arrTide = [TideSummaryStats arrayOfModelsFromDictionaries:json[@"tide"][@"tideSummaryStats"] ];
NSLog(@"Tides: %@", arrTide[0]);
}];
}
https://stackoverflow.com/questions/20815972
复制相似问题