POST NSDictionary或NSArray到JSON?
如何将NSArray或NSDictionary值发布到JSON.Its是否可能。现在我已经完成NSDictionary值和NSArray值转换成JSON.But我连接PHP我的PHP代码有编码和解码方法与编码和解码如何可以得到我从JSON的反应? 怎样才能得到这个回应的价值?
我试图转换JSON格式的代码::
// Empty array NSArray *emptyArray = @[]; // Single element array NSArray *singleElementArray = @[@"Error Message"]; // Array of strings NSArray *arrayOfStrings = @[@"First Name", @"Last Name"]; // Array of above arrays NSArray *arrayOfObjects = @[emptyArray, singleElementArray, arrayOfStrings]; // Dictionary with several kay/value pairs and the above array of arrays NSDictionary *dict = @{@"BlogName" : @"iOS Developer Tips", @"BlogDomain" : @"iOSDeveloperTips.com", @"Array" : arrayOfObjects}; NSError *error = nil; NSData *json; // Dictionary convertable to JSON ? if ([NSJSONSerialization isValidJSONObject:dict]) { // Serialize the dictionary json = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error]; NSLog(@"json: %@", json); // If no errors, let's view the JSON if (json != nil && error == nil) { NSString *jsonString = [[NSString alloc] initWithData:json encoding:NSUTF8StringEncoding]; NSLog(@"JSON conversion: %@", jsonString); } }
我从jsonString得到了正确的值。我已经把这个string发布到JSON POST方法,它的工作正常,但我需要NSDictionary或NSArray发布到JSON.HOW?
最后我得到的解决scheme::
// iOS 5 Json序列化
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"value1",@"username",@"value2",@"password", nil]; NSLog(@"dict :: %@",dict);// What ever parametere you want send value and key pair in this dictionary. NSError *error2; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:&error2]; NSString *post = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; NSLog(@"postLength :: %@",postLength); NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:@"http://localhost:8000/api/v1/login/"]];// URL post URl change here. [request setHTTPMethod:@"POST"]; [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; [request setHTTPBody:postData]; NSURLResponse *response; NSError *error3; NSData *POSTReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error3]; NSString *str = [[NSString alloc] initWithData:POSTReply encoding:NSUTF8StringEncoding]; NSLog(@"str :: %@",str); NSDictionary *json = [NSJSONSerialization JSONObjectWithData:POSTReply options:NSJSONReadingMutableContainers error:&error3]; NSLog(@"parsedvalue%@",json);
- iPhone上的networking活动监控
- 只有在分配事件监听器的情况下,CSShover在ios上才有效
- 如何从AppDelegate中移动这些stream程,并从每个Call中设置个别代理?
- UISearchDisplayController不正确显示自定义单元格
- cordova应用程序(iOS)中的iframe history.back()问题
- xcodebuild:cdtool无法编译:DataModelCompile /path/to/coredatamodel.xcdatamodeld dyld:找不到符号:_OBJC_CLASS _ $ _ OS_object
- 将UIImage添加到另一个UIImage的顶部
- 什么是Core Animation的字节对齐(缓存行对齐)? 为什么重要?
- 如何在ViewDidLoad上显示FullScreenSlideshowViewController