2014-11-28 4 views
0

Я хочу разобрать строку C в NSDictionary. Следующий код отлично работает при компиляции под OS X, но приводит к ошибке «Ошибка анализа JSON» при использовании в Ubuntu 14.04 LTS с GNUStep 7.7. Ошибка возникает только для значений bool (true, false), но работает для чисел и строк.Разбор JSON в NSDictionary с GNUStep не работает для Booleans

Есть ли у вас какие-либо идеи, что может быть проблемой или как я могу совершить кругосветное путешествие?

#import <Foundation/Foundation.h> 

int main(int argc, const char * argv[]) { 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
     //const char* str = "{\"result\":\"foo\"}"; //works 
     const char* str = "{\"result\":true}"; //doesn't work 
     NSData* data = [NSData dataWithBytes:str length:strlen(str)]; 
     NSError *err = nil; 
     NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:&err]; 
     if(err != nil) 
      //Output: "Err: JSON Parse error" 
      NSLog(@"Err: %@",err); 
     else 
      NSLog(@"Dic: %@",dic); 
    [pool drain]; 
    return 0; 
} 
+1

Где вы узнали об ошибке? Как выглядит JSON? –

+0

@HotLicks Я положил JSON в пример выше ({"result": true}). Ошибка возникает при вызове '[NSJSONSerialization JSONObjectWithData]' и 'err' (вывод:« Ошибка Err: JSON Parse ») – muffel

ответ

0

Я нашел решение: это была ошибка в версии GNUstep я использую, при использовании latest source из NSJSONSerialization, все работает отлично.

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