这是我的代码,当我运行它时,我得到:" 2014-10-26 19:02:09.153 App [27372:1281902]价格:( )"
我想知道为什么,没有任何错误被传递,它真的让我困惑。
(我在" omc_usd_price&#34获得空白回复;)
@try
{
NSURL *url = [NSURL URLWithString:@"https://omnicha.in/api?method=getinfo"];
NSData *data=[NSData dataWithContentsOfURL:url];
NSError *error;
NSMutableDictionary *JSONStuff= [NSJSONSerialization JSONObjectWithData:data options: NSJSONReadingMutableContainers error: &error];
NSLog(@"%@",JSONStuff);
NSMutableArray * OMCArray = [[NSMutableArray alloc]init];
NSArray * responseArr = JSONStuff[@"omc_usd_price"];
for(NSDictionary * dict in responseArr)
{
[OMCArray addObject:[dict valueForKey:@"omc_usd_price"]];
}
NSLog(@"Price: %@ test", OMCArray); // Here you get the Referance data
}
@catch (NSException *exception) {
NSLog(@"%@", exception);
}
@finally {
}
编辑:
试过这个,我也不认为我这样做了!
NSMutableArray * OMCArray = [[NSMutableArray alloc]init];
NSMutableArray * OMCArray2 = [[NSMutableArray alloc]init];
NSArray * responseArr = JSONStuff[@"response"];
NSArray * responseArr2 = JSONStuff[@"omc_usd_price"];
for(NSDictionary * dict in responseArr)
{
[OMCArray addObject:[dict valueForKey:@"response"]];
for(NSDictionary * dict2 in responseArr2)
{
[OMCArray addObject:[dict2 valueForKey:@"omc_usd_price"]];
}
}
NSLog(@"Price: %@ test", OMCArray2); // Here you get the Referance data
答案 0 :(得分:1)
这是JSONStuff字典:
{
"error":false,
"response":{
"block_count":96136,
"difficulty":12.18364177,
"netmhps":234.652099,
"seconds_since_block":694,
"avg_block_time":196.533,
"total_mined_omc":6426691.6,
"omc_btc_price":7.0e-6,
"omc_usd_price":0.0025,
"market_cap":15833.5909
}
}
如您所见,字典中没有名为" omc_usd_price"的条目。那里的 是一个以字典名称"响应"的名字的条目,但是你并没有要求这样做。
答案 1 :(得分:0)
如果您想获得omc_usd_price,如代码中所述,则需要解析2个词典。 您必须首先使用键响应解析字典,这将为您提供一个新字典。
然后在这个新字典中,你必须解析/寻找密钥omc_usd_price。
另外,你没有得到一个数组,而是一个double或float,甚至是一个字符串。