[英]How to parse JSon data on iOS app
{"code":200,"msg":"","type":"DEFAULT",
"data{"thumbsId":209834,"thumbsKind":"UP","fbObjectId":null,"canPostFB":true,"thumbsupCnt":292,"episodeId":2491},
"errorDetails":null}
我想獲取數據的thumbskind
值。 我的代碼如下:
@property(nonatomic, assign) NSInteger code;
@property(nonatomic, copy) NSString *msg;
@property(nonatomic, copy) NSString *type;
@property(nonatomic, copy) NSString *details;
@property(nonatomic, copy) NSDictionary *data;
NSDictionary *obj = (NSDictionary *)sender;
self.code = [[obj objectForKey:@"code"] intValue];
self.msg = [obj valueForKeyPath:@"msg"];
self.type = [obj valueForKeyPath:@"type"];
self.data = [obj valueForKeyPath:@"data"];
self.details = [obj valueForKeyPath:@"errorDetails"];
我可以得到code
, type
, msg
等等。
但是我無法獲得data
值。 如何獲取其值,如thumbsId
, thumbsKind
和thumbsupCnt
?
數據是字典中的字典,所以試試看
@property(nonatomic, copy) NSString * thumbsId;
@property(nonatomic, copy) NSString * thumbsKind;
.
.
.
NSDictionary *obj = (NSDictionary *)sender;
NSDictionary *dataDict = (NSDictionary *) [obj objectForKey:@"data"]
self. thumbsKind = [dataDict valueForKeyPath:@"thumbsKind"];
self.thumbsId = [dataDict valueForKeyPath:@"thumbsId"];
.
.
NSInteger thumbsId = [[self.data objectForKey:@"thumbsId"] intValue];
NSString *thumbsKind = [self.data objectForKey:@"thumbsKind"];
......
您的數據是錯誤的Json格式
應該是這樣的:
"data:{"thumbsId":209834,"thumbsKind":"UP","fbObjectId":null,"canPostFB":true,"thumbsupCnt":292,"episodeId":2491},
代替
"data{"thumbsId":209834,"thumbsKind":"UP","fbObjectId":null,"canPostFB":true,"thumbsupCnt":292,"episodeId":2491},
然后嘗試
NSDictionary *dataDict = (NSDictionary *) [obj objectForKey:@"data"]
self. thumbsKind = [dataDict valueForKeyPath:@"thumbsKind"];
self.thumbsId = [dataDict valueForKeyPath:@"thumbsId"];
你可以這樣做
NSInteger thumbsId = [[obj valueForKeyPath:@"data.thumbsId"] intValue];
您可以通過使用以下命令減輕編碼痛苦並節省時間
JSON加速器
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.