Десериализация сложного результата JSON (массив словарей) с TouchJSON

нажмите на слово «app» в отображаемой консоли и исправьте начальный или конечный тег

.
18
задан jpm 13 November 2008 в 21:32
поделиться

5 ответов

Это не ответ, а указатель на другую платформу:

http://code.google.com/p/json-framework/

я использовал его вполне немного в последнее время, сериализируя и десериализовывая сложные структуры данных от сторонних сервисов, таких как Google Local и между моим собственным Objective C и кодом Perl с абсолютно никакими проблемами. Не говоря уже о том, что API смехотворно легок иметь дело с.

Удачи!

8
ответ дан 30 November 2019 в 08:59
поделиться

Я - автор TouchJSON.

Ваш наиболее удаленный объект должен быть словарем и НЕ массивом. Что-либо кроме словаря не законно. Если у Вас должен быть массив, поскольку наиболее удаленный объект затем использует метод (который технически удерживается от использования, но не идет никто, где скоро)

- (id)deserialize:(NSData *)inData error:(NSError **)outError;

См.: http://www.json.com/json-schema-proposal/ для получения дополнительной информации abotu, что и не является легальным JSON.

12
ответ дан 30 November 2019 в 08:59
поделиться

В он - сердечные соглашения JSON с объектами, Ваш код для десериализовывания должен быть следующим образом

{"objects":[{"id": "123456", "name": "touchjson"}, {"id": "3456", "name": "bleh"}]}

, который действительно работает с последним контролем.

0
ответ дан 30 November 2019 в 08:59
поделиться

@Mathieu - Я думаю, это то, что вы ищете (с опозданием на 6 месяцев, я знаю :), но я столкнулся с той же проблемой)

Скопируйте и вставьте отсюда: http://groups.google.com/group/touchcode-dev/browse_thread/thread/ada885832019f45b

NSArray *tweetsArray = [resultsDictionary objectForKey:@"results"]; 
for (NSDictionary *tweetDictionary in tweetsArray) { 
  NSString *tweetText = [tweetDictionary objectForKey:@"text"]; 
  [tweets addObject:tweetText]; 
} 

Чтобы дать больше контекста, JSON, который я анализирую, имеет общую форму
of:

{"results": 
   [ 
     {"text":"tweet1"}, 
     {"text":"tweet2"}, 
     {"text":"tweet3"} 
   ] 
} 
0
ответ дан 30 November 2019 в 08:59
поделиться

Не уверен, что это поможет вам, но посмотрите это http://tempered.mobi/%20

0
ответ дан 30 November 2019 в 08:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: