2016-09-16 5 views
0

Я пытаюсь отправить массив в сообщение JSONModel. Мне нужно convett мой массив NSString и отправить массив в формате:Как получить тип массива [1,2] вместо (1, 2) в Objective-c?

[1, 2, 3] 

, но когда я преобразовать это в NSString и распечатать мой массив, это имеет формат:

(1, 2, 3) 


NSMutableArray *array= [NSMutableArray arrayWithObjects:@"1", @"2",@"3",@"4", nil]; 
NSString *arraString = [NSString stringWithFormat:@"%@", arr]; 
NSLog(@"%@",arraString); 

Как я могу создать этот с [] формате?

+2

Используйте класс 'NSJSONSerialization' сериализации JSON. – dan

ответ

1
NSMutableArray *array= [NSMutableArray arrayWithObjects:@"1", @"2",@"3",@"4", nil]; 
NSData *jsond = [NSJSONSerialization dataWithJSONObject: array options:NSJSONWritingPrettyPrinted error:NULL]; 
NSString *json = [[NSString alloc] initWithData:jsond encoding:NSUTF8StringEncoding]; 

NSLog(@"%@", json); 
+0

Как я мог избежать \ n, когда я добавляю массив json, сериализованный в params в моем вызове ?, я получаю: «[\ n 1, \ n 2, \ n 3, \ n 4 \ n]" вместо [1, 2, 3, 4] – user3745888

+0

Удалите опцию «pretty print» из моего фрагмента кода и замените его на 0. – TyR

+0

Он показывает код как <5f6t8 6567 ...> – user3745888

0

Что вы можете сделать, это

NSString *joinedString = [array componentsJoinedByString:@","]; 
NSString *arraString = [NSString stringWithFormat:@"(%@)", joinedString]; 

Надеется, что это будет исправить вашу проблему