Tag: json

JSONModel iOS和多态性

使用以下模型作为示例,在JSONModel中处理多态的最佳实践是什么? @interface GameModel : JSONModel @property (nonatomic, assign) long id; @property (nonatomic, assign) NSArray<GameEventModel> *events; /* … */ @end @interface GameEventModel : JSONModel @property (nonatomic, assign) long long timestamp; /* … */ @end @interface GameTouchEventModel : GameEventModel @property (nonatomic, assign) CGPoint point; /* … */ @end 当GameModel以{id:1, events:[{point:{x:1, y:1}, timestamp:…}]}的JSONstring启动时, JSONModel将使用GameEventModel并忽略point属性。 使用包含type属性和info属性的通用GameEventModel会更好吗?比如… @interface GameTouchEventModel : […]

NSJSONSerialization给我错误“重复键”

我请求一个家庭控制设备的JSON响应: NSData* responseData = [NSData dataWithContentsOfURL:url]; responseData的JSON数据是完整且有效的。 但是,如果我尝试 NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; NSLog("Error: %@", error); 它给了我以下错误: 错误:Error Domain = NSCocoaErrorDomain Code = 3840“The operation could not be completed。(Cocoa error 3840.)”(对于字符0周围的对象的重复键)UserInfo = 0x6a8b8e0 {NSDebugDescription =对于字符0周围的对象的重复键。 我在网上search,但到目前为止找不到任何有用的信息。 编辑 :它的JSON响应相当长,所以而不是张贴在这里,请在这里find它。

Chiness Charecter编码问题iPhone

我有一个应用程序,我支持四种语言。 在那个时候我用中文用户名login的时候显示我这样的回复.. [{“0”:“41”,“intid”:“41”,“1”:“\ u8a00 \ u3046”, “varfirstname”:“\ u8a00 \ u3046” ,“2”:“\ u8a00 \ u3046” “varlastname”: “\ u8a00 \ u3046”, “3”: “\ u5730”, “varusername”: “\ u5730”, “4”: “abc@gmail.com”, “varemailid”:“ABC @的Gmail .COM “ ”5“: ”QWERT“, ”varpassword“: ”QWERT“, ”6“: ”12345“, ”varmobileno“: ”12345“, ”7“: ”启用“, ”mobileMessage“:” 启用“ ”8“: ”“, ”varphoneno“: ”“, ”9“: ”启用“, ”enumstatus“: ”使能“, ”10“: ”二零一三年一月三十日“, ”date_insert“:” 2013 […]

在iOS中发送audio文件和JSONstring

我试图发送一个audio文件和一个JSONstring到PHP服务器。 用下面的代码将发送JSON,但文件到达空。 如果我把JSON块放在audio块下面,文件完全到达,但是JSON是空的。 有什么想法吗? – (void)sendFile:(NSString *)filePath URL:(NSString *)urlString JSON:(NSData *)jsonBody { NSString *jsonString = [[NSString alloc] initWithData:jsonBody encoding:NSUTF8StringEncoding]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:urlString]]; [request setHTTPMethod:@"POST"]; if ([defaults objectForKey:@"UserToken"]) { // add the header to the request. [request addValue:[defaults objectForKey:@"UserToken"] forHTTPHeaderField:@"token"]; } NSString *boundary = [NSString stringWithString:@"—————————14737809831466499882746641449"]; NSString *contentType = [NSString […]

正确的方式embeddedjson有效载荷base64与networking

提前感谢任何帮助。 我正在使用只需要json有效负载的Web服务,并且此服务已设置为提交照片。 所以我想弄清楚在json有效载荷中embedded图像的正确方法。 这是我的方法。 //convert image to nsdata NSData *originalPhoto = UIImageJPEGRepresentation(self.photo.image,.9); //convert the data to a base64 string using NSData+Base64 category extension (Matt Gallagher version) NSString *base64photoString = [originalPhoto base64EncodedString]; //set the string in a NSDictionary [info setValue:base64photoString forKey:@"data"]; //then pass it to AFNetworking using the httpClient 一切似乎工作,我得到json有效载荷。 注意:bas64string在post正文中结束。 是否有人知道如果一个URI需要被embedded到数据的前面 – 如下所示:“file”:“data:image / jpg; […]

AFNetworking 2.0 – 可变的JSON

我的代码目前看起来像这样 NSURL *URL = [NSURL URLWithString:URLForSend]; NSURLRequest *request = [NSURLRequest requestWithURL:URL]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; operation.responseSerializer = [AFJSONResponseSerializer serializer]; [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"%@", responseObject); [BoxJsonDataHelper gotNewJson:responseObject]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Request Failure Because %@",[error userInfo]); }]; [operation start]; 但是,当试图编辑收到的对象中的字典时,我得到一个有关使用属于可变字典而不是字典的方法的错误。 我如何使AFNetworking使用嵌套的可变对象?

ObjC Plist文件读取速度比JSON快吗?

我已经做了这个testing项目https://github.com/danielpetroianu/FileDeserializeBenchmarking看看什么是我可以从应用程序包中读取文件的最快方式,并反序列化它。 我很惊讶地看到,Plist文件被读取得比JSON快。 由于JSON文件尺寸较小,我预计它会更快。 Xcode在构build时对Plist文件有一些优化吗? 我做了什么错误导致JSON反序列化需要更多的时间?

NSJSONSerialization返回“<null>”string

我试图设置一个NSDictionary到从服务器检索到的JSON对象,我这样做在这一行: _peopleArray = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 它工作正常,并正确地创build字典。 但是,我有一个问题,在JSON对象中为"<null>"值在字典中存储为"<null>"string值。 有没有办法解决这个问题或解决它? 我想避免遍历整个事物并将其设置为@"" 。 谢谢你的帮助! 〜Carpetfizz

无法将“__NSArrayI”(0x10df73c08)types的值转换为“NSDictionary”(0x10df74108)

let url = "http://xyz/index_main.php?c=webservices&a=get&e=007" Alamofire.request(url, method: .post, parameters: nil, encoding: JSONEncoding.default) .responseJSON { response in print(response) //to get status code if let status = response.response?.statusCode { switch(status){ case 201: print("example success") default: print("error with response status: \(status)") } } //to get JSON return value if let result = response.result.value { let JSON = result as! […]

如何通过填充NSDictionary以JSON格式发送UIImage

我想用JSON发送数据到服务器。 我能够创build我的NSDictionary与我的对象和关键参数。 但我想发送我的照片,图片是UIImage。 NSDictionary* mainJSON = [NSDictionary dictionaryWithObjectsAndKeys: @"John", @"First_Name", @"McCintosh", @"Last_name", <HERE I WANT PICTURE>, @"Profile_picture", nil]; // Here I convert to NSDATA NSData * jsonData = [NSJSONSerialization dataWithJSONObject:mainJSON options:NSJSONWritingPrettyPrinted error:&error]; // Sending operation : dispatch_async(kBgQueue, ^ { NSData * data = [NSData dataWithContentsOfURL:@"addresSERVER"]; [self performSelectorOnMainThread:@selector(receivedResponseFromServer:) withObject:data waitUntilDone:YES]; } ); 所以我想知道如何添加我的照片在我的NSDictionary? 因为我想发送我的照片的内容。 如果我添加我的对象UIImage …我会发送整个对象吗? […]