#ios #objective-c #json #ios4 #iphone-sdk-3.0
#iOS #objective-c #json #ios4 #iphone-sdk-3.0
Вопрос:
Я создаю приложение, в котором мне нужно отправить JSON на сервер, чтобы получить некоторый ответ.
Как сгенерировать JSON с помощью JSON Framework для iPhone?
Каковы другие возможные способы?
Ответ №1:
Создайте массив или словарь объектов, представляющих информацию, которую вы хотите отправить через JSON. Сделав это, отправьте -JSONRepresentation
в массив / словарь. Этот метод возвращает строку JSON, и вы отправляете ее на сервер.
Например:
NSDictionary *o1 = [NSDictionary dictionaryWithObjectsAndKeys:
@"some value", @"key1",
@"another value", @"key2",
nil];
NSDictionary *o2 = [NSDictionary dictionaryWithObjectsAndKeys:
@"yet another value", @"key1",
@"some other value", @"key2",
nil];
NSArray *array = [NSArray arrayWithObjects:o1, o2, nil];
NSString *jsonString = [array JSONRepresentation];
// send jsonString to the server
После выполнения приведенного выше кода jsonString
содержит:
[
{
"key1": "some value",
"key2": "another value"
},
{
"key1": "yet another value",
"key2": "some other value"
}
]
Ответ №2:
Создайте NSMutableDictionary или NSMutableArray и заполните его NSNumbers и NSStrings. Вызовите [<myObject> JSONRepresentation]
, чтобы вернуть строку JSON.
например:
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@"Sam" forKey:@"name"];
[dict setObject:[NSNumber numberWithInt:50000] forKey:@"reputation"];
NSString *jsonString = [dict JSONRepresentation];