2016-06-28 11 views
0

私はステーションを探すiOSアプリケーションを持っており、燃料価格を追加したいと思います。Objective-cでこのjsonスキーマを解析するには

データベースでOpendataが見つかりましたが、配列 "Fields"と "price_e10"を解析できず、配列 "Records"のみを解析できません。

ここでJSON SCHEMA(私はそれが多次元アレイだと思う)の例を示します。ここ

"records":[ 
{ 
"datasetid":"prix_des_carburants_j_7", 
"recordid":"fa74ca1fdf6938333d2bc1013623b66771557b31", 
"fields":{ 
"price_e10":1.389, 

は、Objective-Cでの私のコードの例:あなたの助け

ため

NSError *e; 
    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseData options: NSJSONReadingMutableContainers error: &e]; 

    NSArray *arrayResult =[dict objectForKey:@"records"]; 
    arraySmpl = [NSMutableArray arrayWithArray:arrayResult]; 

    NSLog(@" MULTIPLE ARRAY : %@ ",arrayResult); 
    rowsInSection = [arraySmpl count] + 1; 

おかげで

+0

'arrayResult'はNSDictionaryのNSArrayです。キー 'fields'の値は' NSDictionary'です。 => 'NSString * aprice =?[objectResult objectAtIndex:??] objectForKey:@"フィールド "] objectForKey:@" price_e10] '? – Larme

答えて

0

以下の手順に従ってください。

NSArray *rec = [allDict objectForKey:@"records"]; 
    for (NSDictionary *str in loans) { 
    NSDictionary *conn = [str objectForKey:@"fields"]; 
      NSStirng *get_price = [conn objectForKey:@"price_e10"]; 
    } 

今文字列「get_price」は1.389、

+0

助けてくれてありがとう、GAZOLE、PRICE-E10の価格を表示するためにあなたの助けが必要です....テーブルビュー –

+0

あなたのjsonデータを表示できます – Muthukumar

+0

はいここに私のjsonデータ: –

1

の値を持つことになり、私はデータを検討し、サーバーから来ています。

NSDictionary *globalDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error]; 
NSArray *recordsArray = [globalDict valueForKey:@"records"]; 
for (NSDictionary *dict in recordsArray) { 
    NSDictionary *fieldsDict = [dict valueForKey:@"fields"]; 
    NSString *fuelPrice = [fieldsDict valueForKey:@"price_e10"]; 
    NSLog(@"fuelPrice: %@", fuelPrice); 
} 

出力: fuelPrice:1.389

0

私は上記の "Price_e10" で述べたように、あなたは直接price_gazole price_sp95、price_sp98にアクセスすることができます。

NSArray *rec = [allDict objectForKey:@"records"]; 
     for (NSDictionary *str in loans) { 
     NSDictionary *conn = [str objectForKey:@"fields"]; 
       NSStirng *get_price = [conn objectForKey:@"price_e10"]; 
NSStirng *price_gazole = [conn objectForKey:@"price_gazole"]; //output: 1.205 
NSStirng *price_sp95 = [conn objectForKey:@"price_sp95"]; //output :1.425 

NSStirng *price_sp98 = [conn objectForKey:@"price_sp98"]; //output 1.465 

     } 
+0

okありがとう、どのように私のTableViewで表示するためにこれを配列に追加? –