繁体   English   中英

PHP和Objective-C之间的JSON对象

[英]JSON Objects between PHP and Objective-C

我的iPhone应用程序正在从PHP网站抓取一个JSON对象。

PHP站点上的对象具有多个属性,即整数。

从数据库中检索到的属性从数据库(它们存储为INT )回来,在JSON中显示如下: "seatedplayers":"3"

在PHP代码中修改的属性在JSON中显示如下: "currentseat":1

在我的Obj-c中,我正在使用NSNumberFormatter来正确格式化它们,如下所示:
[numFormatter numberFromString:[jsonObject objectForKey:@"seatedplayers"]]; (jsonObject是一个NSDictionary

该代码适用于带有值的引号的属性,但不适用于其他代码。 如果我在Objective-C代码中添加stringValue ,它可以处理没有引号但不带引号的属性。

现在,我的一个大问题是,这个应用程序需要与我不会亲自编写的站点进行通信,那么我可以编写Objective-C中的哪些代码来处理这两个实例?

编辑
这就是我获取NSDictionary jsonObject的方法。

- (NSDictionary *) getJSONObjectFromWebAddress:(NSString *) address {
// Prepare the URL Request
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:address]];

// Perform the request, expecting JSON back
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];

NSError *error;
SBJsonParser *parser = [[SBJsonParser new] autorelease];
NSDictionary *jsonObject = [parser objectWithString:responseString error:&error];
if (!jsonObject) {
    NSLog(@"%@", error);
}

[responseString release];
return jsonObject;
}

我有同样的问题。 幸运的是,NSString和NSNumber都响应intValue,因此您可以安全地使用它。


//NSDictionary* myJsonParsed;
[NSString stringWithFormat:@"%d", [[myJsonParsed valueForKey:@"stringOrInt"] intValue]];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM