[英]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.