Как программно сгенерировать JSON с помощью JSON framework для iPhone

#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];