2016-06-28 53 views
0

我有一個iOS應用程序尋求站,我想添加燃料價格。我如何解析這個json架構在目標-c

我發現一個Opendata與數據庫,但我不能解析數組「字段」和「price_e10」,只有陣列「記錄」。

這裏的JSON模式的(我認爲這是多維陣列)的例子:

"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。對於鍵「字段」,該值是一個「NSDictionary」。 =>'NSString * aprice = [[arrayResult objectAtIndex:??] objectForKey:@「fields」] 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

好的謝謝,如何將這添加到數組中以便在我的TableView中顯示? –