首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SBJson整型解析

SBJson整型解析
EN

Stack Overflow用户
提问于 2011-08-06 12:40:01
回答 3查看 872关注 0票数 1

我有一个json字符串:

代码语言:javascript
复制
{"1":{"homeTeam":"Home01","awayTeam":"Away01","homeScore":0,"awayScore":0,"gameID":1},"2":{"homeTeam":"Home11","awayTeam":"Away11","homeScore":0,"awayScore":0,"gameID":2},"3":{"homeTeam":"Home21","awayTeam":"Away21","homeScore":0,"awayScore":0,"gameID":3}}

我想把它变成一个Objective-C类:

代码语言:javascript
复制
#import <Foundation/Foundation.h>


@interface ScoreKeeperGame : NSObject {

}

@property (nonatomic, retain) NSString *homeTeam;
@property (nonatomic, retain) NSString *awayTeam;
@property (nonatomic, assign) int homeScore;
@property (nonatomic, assign) int awayScore;
@property (nonatomic, assign) int gameID;

- (id) init: (NSString *) homeTeam 
   awayTeam: (NSString *) awayTeam;

- (id) init: (NSDictionary *) game;

@end

我通过NSDictionary " game“( json字符串表示一个哈希图,所以第一个游戏是)传入了json:

代码语言:javascript
复制
{"homeTeam":"Home01","awayTeam":"Away01","homeScore":0,"awayScore":0,"gameID":1}

当我尝试使用这个类时:

代码语言:javascript
复制
#import "ScoreKeeperGame.h"


@implementation ScoreKeeperGame
@synthesize homeTeam=_homeTeam, awayTeam = _awayTeam, homeScore = _homeScore, awayScore     = _awayScore, gameID = _gameID;

- (id) init: (NSString *) homeTeam 
   awayTeam: (NSString *) awayTeam
{
    self = [super init];
    self.homeTeam = homeTeam;
    self.awayTeam = awayTeam;

NSLog(@"away: %@", awayTeam);
return self;
}

- (id) init: (NSDictionary *) game
{
    self = [super init];
    if(self)
    {
    self.homeTeam = [game objectForKey:@"homeTeam"];
    self.awayTeam = [game objectForKey:@"awayTeam"];
    self.awayScore = (int) [game objectForKey:@"awayScore"];
    self.gameID = [game objectForKey:@"gameID"];

    NSLog(@"game awayScore: %d", self.awayScore);
    NSLog(@"game gameID: %@", [NSNumber numberWithInt:self.gameID]);
    }
return self;
}

@end

awayScore和gameId打印为大数字(可能是指针)?

我试过了

代码语言:javascript
复制
self.awayScore = [NSNumber numberWithInt: [game objectForKey:@"awayScore"]];

但这似乎也不起作用。

如何从游戏对象中获取int的值?

po game产生:

代码语言:javascript
复制
{
awayScore = 0;
awayTeam = Away01;
gameID = 1;
homeScore = 0;
homeTeam = Home01;
}

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-06 12:49:55

您必须首先将其作为NSNumber提取出来。

代码语言:javascript
复制
NSNumber *myNum = [game objectForKey:@"awayScore"];

self.awayScore = [myNum intValue];

多!

票数 3
EN

Stack Overflow用户

发布于 2011-08-06 12:52:03

如果想要从JSON响应中获取整数值,可以尝试执行此操作

代码语言:javascript
复制
self.awayScore = [NSNumber numberWithInt: [[game objectForKey:@"awayScore"] intValue]];

因为您的响应将是nsstring。

票数 1
EN

Stack Overflow用户

发布于 2013-04-28 00:21:30

IOS6.0,现在很简单[游戏@“awayScore”intValue]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6964813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档