2016-06-28 2 views
0

У меня есть приложение iOS, которое ищет станцию, и я бы хотел добавить цену на топливо.Как разобрать эту json-схему в Objective-c

Я нашел Opendata с базой данных, но я не могу разобрать массив «Поля» и «price_e10», только массив «Записи».

Вот пример 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' - это NSArray NSDictionary. Для ключевых «полей» это значение «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

ok спасибо, как добавить это в массив для отображения в моем TableView? –

Смежные вопросы