我想将NSDictionary和NSArray转换为json格式。JSON Kit能做到吗,如何操作?
// 数据->字符串
NSMutableDictionary *nameElements = [NSMutableDictionary dictionary];
[nameElements setObject:@"abcd" forKey:@"username"];
[nameElements setObject:@"1234" forKey:@"password"];
NSString* jsonString = [nameElements JSONString];
// 将字符串转换为数据
NSDictionary *nameElements_ = [jsonString objectFromJSONString];
for(NSString *key in [nameElements_ allKeys]) {
NSString* body = [nameElements_ objectForKey:key];
NSLog(@"%@", body);
}
这是一个向服务器发送字典和数组的示例,对我来说百分之百有效。
SBJSON *jparser = [[SBJSON new] autorelease];
NSString *ArrayjsonItems = [jparser stringWithObject:self.UrMergedArray];
NSString *DicjsonItems = [jparser stringWithObject:self.UrMergedDic];
NSLog(@"array Items :%@",self.UrMergedArray);
NSLog(@"dic Items :%@",self.UrMergedDic);
NSString *postString =[NSString stringWithFormat:@"Arrayitems=%@&Dicitems=%@",ArrayjsonItems,DicjsonItems];
NSLog(@"it is going to post : %@ \n\n",postString);
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:snapURL];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *connection=[[NSURLConnection alloc]
initWithRequest:request
delegate:self];
if (connection) {
self.receivedData = [[NSMutableData data] retain];
}
[connection release];