2016-07-04 6 views
0

辞書から抽出した要素を取得し、それらをdouble型に変換しようとしています。データはJSONから取得されており、配列の型に抽出されているように見えます(どの型であるかわからない)。下にリストされている番号をアレイから個別に取得する方法はありますか?詳しい情報が必要な場合はお知らせください。目的Cアクセスする要素

NSDictionary *parameters = @{@"username":savedUser,@"password":savedPass}; 

     NSURL *URL = [NSURL URLWithString:@"testwebsite"]; 
     AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
     manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 
     [manager GET:URL.absoluteString parameters:parameters progress:nil success:^(NSURLSessionTask *task, id responseObject) 
     { 

      NSError *error = nil; 
      JSON = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:&error]; 
      if (error) { 
       NSLog(@"Error serializing %@", error); 
      } 
      NSLog(@"%@",JSON); 
      NSString *price = [NSString stringWithFormat:@"%@",[JSON valueForKey:@"UnitPrice"]]; 
      price= [price stringByReplacingOccurrencesOfString:@"\"" withString:@""]; 

      NSLog(@"Price: %@",price); 

      [transactionTotals addObject:price]; 

      [self createGraph:100]; 

     } 
      failure:^(NSURLSessionTask *operation, NSError *error) 
     { 

      NSLog(@"Error1: %@", [error debugDescription]); 
      NSLog(@"Error2: %@", [error localizedDescription]); 

     }]; 
    } 
    @catch (NSException *exception) 
    { 
     NSLog(@"%@",exception); 
    } 

ログ(単価値Iが個別に抽出する必要が):

辞書出力:

2016-07-03 22:52:21.330 T2PApp[2272:658440] (
     { 
     OrderDetailID = 3; 
     ProductName = Oranges; 
     UnitPrice = "399.99"; 
     date = "2016-06-09T21:45:06"; 
    }, 
     { 
     OrderDetailID = 7; 
     ProductName = Oranges; 
     UnitPrice = 1000; 
     date = "2016-06-13T22:15:47.107"; 
    } 
) 

抽出単価出力(まだ完全に抽出されない):私が思う

2016-07-03 22:52:21.330 T2PApp[2272:658440] Price: (
    399.99, 
    1000 
) 

答えて

0

必要なのは配列内のオブジェクトからデータを取り出すことです。 JSONについてではありません。
これを行うには多くの方法がありますが、単純にそれを調べる方法はありません。
たとえば、新しい配列を作成し、ターゲット配列をトラバースし、必要なプロパティを新しい配列に配置します。
これは基本的にそうです。
あなたのコードでは、以下のコードが動作するかもしれません。

NSLog(@"%@",JSON); 
NSMutableArray *priceArr = [NSMutableArray array]; 
NSArray *arr = nil; 
if ([JSON isKindOfClass:[NSArray class]]) { 
    arr = (NSArray *)JSON; 
    for (NSDictionary *dic in arr) { 
     NSString *price = [NSString stringWithFormat:@"%@",[dic valueForKey:@"UnitPrice"]]; 
     price= [price stringByReplacingOccurrencesOfString:@"\"" withString:@""]; 
     [priceArr addObject:price]; 
    } 
} 

priceArrが必要です。

+0

価格配列をどのように反復するのですか? ObjectAtIndexは機能していないようです。 – user5792975

+0

forinできます – childrenOurFuture