如何将NSStrings的NSArray转换为Json String iOS

我有一个滚动数组

NSArray *rollArray = [NSArray arrayWithObjects:@"1", @"22", @"24", @"11", nil];

我需要在Web服务请求中发送此数组

其格式如下(采用JSON格式)

JSON数据

{
  "existingRoll":["22","34","45","56"], // Array of roll numbers
  "deletedRoll":["20","34","44","56"] // Array of roll numbers
}

但我在将数字滚动数字(rollArray)转换为json String时遇到问题
以所需的格式.

我正在尝试这个

 NSMutableDictionary *postDict = [[NSMutableDictionary alloc]init];
  [postDict setValue:[rollArray componentsJoinedByString:@","] forKey:@"existingRoll"];

 NSString *str = [Self convertToJSONString:postDict]; // converts to json string

 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:str options:0 error:nil];

 [request setHTTPBody:jsonData];

我使用的是iOS 7

最佳答案
无需使用以下代码段:

> [rollArray componentsJoinedByString:@“,”]
> NSString * str = [Self convertToJSONString:postDict];

您可以使用以下代码创建JSON:

NSArray *rollArray = [NSArray arrayWithObjects:@"1", @"22", @"24", @"11", nil];
NSMutableDictionary *postDict = [[NSMutableDictionary alloc]init];
[postDict setValue:rollArray forKey:@"existingRoll"];
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:postDict options:0 error:nil];

// Checking the format
NSLog(@"%@",[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]);

转载注明原文:如何将NSStrings的NSArray转换为Json String iOS - 代码日志