2012-07-25 115 views
1

当我NSLog的内容NSMutableArray我得到空。我相信我知道问题是什么。删除//从NSMutableArray

我在尝试弄清楚如何在此JSON输出开始时删除“//”时遇到了一些麻烦。如果您将http://www.google.com/finance/info?infotype=infoquoteall&q=AAPL,C加载到浏览器中,您会在开始时看到“//”。我相信“//”是导致数组返回null的原因。我怎么能去除这两个破折号?下面是我有什么,我迄今所做...

NSString *url = @"http://www.google.com/finance/info?infotype=infoquoteall&q=C,JPM,AIG,AAPL"; 

NSData* data = [NSData dataWithContentsOfURL: 
      [NSURL URLWithString: url]]; 

//parse out the json data 
NSError* error; 
NSMutableArray* json = [NSJSONSerialization 
        JSONObjectWithData:data //1 

        options:kNilOptions 
        error:&error]; 

NSLog(@"json is %@", json); //returns "json is (null)" 
+1

在你的其他文章中(你没有接受我的回答),丹向你展示了你接受如何做到这一点的答案。我不确定这会有帮助,因为我也这样做了,并且JSON中间还有另一个问题字符(可能还有其他字符) – rdelmar 2012-07-25 02:27:19

+0

[JSON返回null]的可能重复(http:// stackoverflow .com/questions/11624299/json-returning-null) – 2012-07-25 02:30:26

+0

是的danh,指出问题是“//”,我应该删除两个破折号。然而,删除破折号的解决方案没有锻炼。所以它成为如何删除破折号而不是为什么数据返回null的问题。 – SNV7 2012-07-25 02:31:52

回答

2

你可以试试这个:

NSData *newData = [data subdataWithRange:NSMakeRange(4, [data length] -4)]; 

这摆脱了前四个字符。在第一个“[”之前有两个斜杠和一个空格的控制字符,并且这样就消除了这些字符。我尝试过,但数据仍然存在缺陷。