2013-06-03 29 views
1

В настоящее время у меня есть объект JSON, но когда я анализирую парный элемент ключа startLabel внутри VALUES, я возвращаю nsdictionary с первым элементом NULL, а его ключи являются значениями.Анализ объекта JSON в Objective-C

Вот объект JSON

(
     { 
     values =   (
           { 
         start = 1370066400; 
         startLabel = 20130601000000; 
         value = "1.000000047497"; 
        }, 
           { 
         start = 1370067300; 
         startLabel = 20130601001500; 
         value = "1.000000047497"; 
        }, 
           { 
         start = 1370068200; 
         startLabel = 20130601003000; 
         value = "1.000000047497"; 
        } 
      ); 
     } 
) 

В настоящее время это выход NSLog объекта словаря «Словаре»

(
"<null>", 
    (
    20130601000000, 
    20130601001500, 
    20130601003000, 
    20130601004500, 
    20130601010000, 
    20130601011500, 
    20130601013000, 
    20130601014500, 
    20130601020000, 
    20130601021500, 
    20130601023000, 
    20130601024500, 
    20130601030000, 
    20130601031500, 
    20130601033000, 
    20130601034500, 
    20130601040000, 
    20130601041500, 
    20130601043000, 
    20130601044500, 
    20130601050000, 
    20130601051500, 
    20130601053000, 
    20130601054500, 
    20130601060000, 
    20130601061500, 
    20130601063000, 
    20130601064500, 
    20130601070000, 
    20130601071500, 
    20130601073000, 
    20130601074500, 
    20130601080000, 
    20130601081500, 
    20130601083000, 
    20130601084500, 
    20130601090000, 
    20130601091500, 
    20130601093000, 
    20130601094500, 
    20130601100000, 
    20130601101500, 
    20130601103000, 
    20130601104500, 
    20130601110000, 
    20130601111500, 
    20130601113000, 
    20130601114500, 
    20130601120000, 
    20130601121500, 
    20130601123000, 
    20130601124500, 
    20130601130000, 
    20130601131500, 
    20130601133000, 
    20130601134500, 
    20130601140000, 
    20130601141500, 
    20130601143000, 
    20130601144500, 
    20130601150000, 
    20130601151500, 
    20130601153000, 
    20130601154500, 
    20130601160000, 
    20130601161500, 
    20130601163000, 
    20130601164500, 
    20130601170000, 
    20130601171500, 
    20130601173000, 
    20130601174500, 
    20130601180000, 
    20130601181500, 
    20130601183000, 
    20130601184500, 
    20130601190000, 
    20130601191500, 
    20130601193000, 
    20130601194500, 
    20130601200000, 
    20130601201500, 
    20130601203000, 
    20130601204500, 
    20130601210000, 
    20130601211500, 
    20130601213000, 
    20130601214500, 
    20130601220000, 
    20130601221500, 
    20130601223000, 
    20130601224500, 
    201306, 
    201306, 
    201306, 
    201306
    ) 
) 

Как получить объект словаря, который не содержит null как первый ключ?

Вот код, я использую:

NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; 

NSArray* data = [json objectForKey:@"fields"]; 
NSDictionary *graphStartDate = [data valueForKeyPath:@"values.startLabel"]; 

Если больше кода необходим, пожалуйста спросите :) Но это в принципе.

+1

Вы совершенно ошибаетесь. Вы получаете NSArray. Что содержит NSDictionary. Что содержит NSArray. Что содержит 3 NSDictionaries. Это легко видно из чтения первой дампы. –

+1

(Изучите синтаксис JSON на json.org. Дамп объекта Objective-C немного отличается от синтаксиса JSON, но в основном тот же, только с '()' вместо '[]'.) –

+1

(я не знаете, как вам удалось получить этот второй дамп. Похоже, это мусор для меня. Возможно, это незавершенный объект.) –

ответ

0

выпуска решить .....

Я сделал еще NSArray, что доступ к второму ключевому элементу данного объекта словаря, и я был в состоянии получить все заданных значения .....

Любопытных хак обходной путь и делает программу менее эффективным ....

NSArray *array = [graphStartDate objectAtIndex:1]; 

Не совсем уверен, как избавиться от пустого объекта, но я пойду в более подробно с разработчиками, которые написали веб-сервер в JavaScript для понять, что ДЕЙСТВИТЕЛЬНО продолжается ....

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