我有一些JSONstring,表示从服务器的地图(字典)。 我需要绘制这张地图,因为它是@我的iPhone应用程序。 我正在使用JSONKit,它似乎使用哈希函数来将键插入到它的内部JKDictionary …. 那么我应该发送一个优先号码来订购钥匙吗? 或者有一些方法可以使JSONKit保留服务器JSON数据的键sorting?
这是一个后续问题,简而言之,我使我的应用程序与ios 4.3兼容,并使用在我的应用程序中支持ios 4的AFNetworking类版本0.10.1。 这行self.responseJSON = AFJSONDecode(self.responseData, &error); 给我错误的下面。 我不是很熟悉杰森,并试图找出这个错误的含义。 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** – [JKDictionary allocWithZone:]: The JKDictionary class is private to JSONKit and should not be used in this fashion.' *** Call stack at first throw: ( 0 CoreFoundation 0x006ef5a9 __exceptionPreprocess + 185 1 libobjc.A.dylib 0x018e6313 objc_exception_throw + 44 […]
我注意到与XCode(4.6)的最新更新,我被告知JSONKit.m几行。 具体而言,设置对象类的行: dictionary->isa = _JKDictionaryClass; 这些被标记为不推荐使用,注意首选方法是使用object_setClass() : object_setClass(dictionary, _JKDictionaryClass); 当我问到为什么宁愿简单地使警告消失时,答复是: 一切正常,即使新的Xcode版本抱怨,我不想: 1)testing每个项目,我使用JSONKit检查是否一切正常后object_setClass() 2)松散的CPU周期,这就是为什么我使用NSJSONSerialization JSONKit的例子。 我当前的应用程序分析重量为600K-1M的json文件 我们在这里谈论的是多大的performance? 注 : 我更感兴趣 dictionary->isa = _JKDictionaryClass vs object_setClass() 比JSONKit vs NSJSONSerialization 。
我试过这个使用Jsonkit和苹果的JSON序列化器没有运气。 它不断打破地理属性,这是一个NSNumbers nsarray。 Post* p = [[Post alloc] init]; p.uname = @"mike"; p.likes =[NSNumber numberWithInt:1]; p.geo = [[NSArray alloc] initWithObjects:[NSNumber numberWithFloat:37.78583], [NSNumber numberWithFloat:-122.406417], nil ]; p.place = @"New York City"; p.caption = @"A test caption"; p.date = [NSDate date]; NSError* error = nil; NSString* stuff = [[p getDictionary] JSONStringWithOptions:JKParseOptionNone error:&error]; 更新:检查错误是它失败的NSDate,而不是NSArray。 如何将date格式化程序传递到函数中? 更新2:解决 – 好了看着jsonkit的最新提交,看到你可以这样做: […]
我从http://www.bonto.ch/blog/2011/12/08/json-libraries-for-ios-comparison-updated/中提取了代码,并在本地机器上testing了它。 我对结果感到惊讶, NSJSonSerialization比JSONKit有更好的性能。 NSJSonSerialization在速度上真的超越了JSONKit吗?还是我做错了什么? twitter_timeline.json repeat.json random.json
我正在使用基于REST的Web服务来获取数据。 不pipeJSON文档的结构如何,NSDictionary都以相同的方式填充。 我想在Web服务返回时保留sorting。 这是我的代码: -(void) getData { NSURL *url = [NSURL URLWithString:@"http://somewebservice"]; __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request setCompletionBlock:^{ // Use when fetching text data NSString *responseString = [request responseString]; NSDictionary *resultsDictionary = [responseString objectFromJSONString]; [jokesArray release]; jokesArray = [resultsDictionary allValues]; //always has the same order. [jokesArray retain]; [self.tableView reloadData]; // Use when fetching […]
根据这些评论,JSONKit不支持ARC,甚至没有在ARC环境中运行fobjc-no-arc设置: https : //github.com/johnezang/JSONKit/issues/37
任何人都知道如何序列化基于NSObject类的嵌套JSON? 有一个讨论序列化简单的JSON 在这里 ,但它不足以满足复杂的嵌套JSON。 想象一下,这是JSON的结果: { "accounting" : [{ "firstName" : "John", "lastName" : "Doe", "age" : 23 }, { "firstName" : "Mary", "lastName" : "Smith", "age" : 32 } ], "sales" : [{ "firstName" : "Sally", "lastName" : "Green", "age" : 27 }, { "firstName" : "Jim", "lastName" : "Galley", "age" : 41 } […]