2012-04-30 67 views

回答

0

如果您使用的是web服务,请为此指定URL。

试试这个方法...

NSArray* latestentry = (NSDictionary*)[responseString JSONValue]; 
0
NSArray *feedsData = [[strFeedsResponse JSONValue] mutableCopy]; 

使用此线,这将是这个错误通常来的时候方法不仅found.Here谈到因为没有找到JSONValue功能对你有用..

+0

或使用此行也NSArray * feedsData =(NSArray *)[strFeedsResponse JSONValue]; – Prakash

+0

同样的问题... – Pradeep

+0

@Pradeep这是什么? – yoozer8

0


请确保您已将json头文件包含在您调用此函数的位置。

2

我推测strFeedsResponseNSString的一个实例。 NSString中没有JSONValue这样的方法。您需要NSString 类别并在那里添加JSONValue方法。

可以使用例如SBJsonhttps://github.com/stig/json-framework/,其含有的NSString + SBJson.h头,它增加了JSONValue方法的NSString。

这头必须比进口要使用JSONValue方法在源文件中:

#import NSString+SBJSON.h 

更多类别,例如这里:http://macdevelopertips.com/objective-c/objective-c-categories.html

1

一两件事情正在发生:

  1. strFeedsResponse实际上不是NSString的实例。也许它是空的,或者它是由一个不正确的值启动的。在你调用JSONValue之前,你可以在你的代码中添加一个断点来检查存储在strFeedsResponse中的值。

  2. 您还没有正确地将您正在使用的JSON框架导入到您的类中。您需要将JSON标题添加到您的班级。

1

希望这有助于将来对这个错误搜索...

的原因错误是SBJson当前版本似乎不包含的NSString类别“NSString + SBJSON.h”由前面的海报引用。所以,你可以很容易地编写你自己的,或者只是直接使用SBJsonParser类(“地址”只是包含一些像“24埃尔姆街,Yourtown,新墨西哥”一个NSString):

NSString  *esc_addr  = [address stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
NSString  *req   = [NSString stringWithFormat:@"http://maps.google.com/maps/api/geocode/json?sensor=false&address=%@", esc_addr]; 
NSString  *response  = [NSString stringWithContentsOfURL: [NSURL URLWithString: req] encoding: NSUTF8StringEncoding error: NULL]; 
SBJsonParser *parser   = [[SBJsonParser alloc] init]; 
NSDictionary *googleResponse = [parser objectWithString:response]; 

干杯!

相关问题