2009-08-13 1 views
3

Я успешно использую json-framework для создания GET HttpRequests. Кто-нибудь имеет код для подготовки объекта json и выполняет запрос POST HTTP? Если да, можете ли вы поделиться некоторым образцовым кодом цели-c. Спасибос использованием JSON-Framework для подготовки объекта json для публикации через HTTP-запрос Object-C

+0

Hi Zap, вы определили это? Я хочу сделать то же самое, но не могу найти ответ. – Cragly

ответ

3

Посмотрите на этот open source project, размещенный в коде google.

Описание:

Эта структура реализует строгую JSON парсер и генератор в Objective-C.

Загрузите фреймворк, встройте его в свое приложение и импортируйте заголовок JSON.h. Теперь вы готовы сделать свое заявление на JSON. Структура добавляет категории к существующим объектам Objective-C для суперпростого интерфейса и предоставляет классы с более гибкими API для дополнительного управления.

1

Попробуйте TwitterHelper.m в Stanford's CS 193P "Presence3Files.zip" package.

Я бы опубликовал код напрямую, но не уверен, если это круто, по лицензии.

0

Используйте следующий код для создания почтового запроса с использованием объекта данных JSON.

self.responseData=[NSMutableData data]; 

    NSURL *url = [NSURL URLWithString:@"http://dev.iworklab.com/myProject/index.php"]; 

    NSString *jsonRequest = [NSString stringWithFormat:@"{\"method\":\"changePassword\",\"customer_id\":\"%@\",\"old_password\":\"%@\",\"new_password\":\"%@\",\"con_password\":\"%@\"}",customerID,oldPasswordText.text,newPasswordText.text,confirmPasswordText.text]; 

    jsonRequest = [NSString stringWithFormat:@"&json_data=%@",jsonRequest]; 

    NSData *json_data = [NSData dataWithBytes:[jsonRequest UTF8String] length:[jsonRequest length]]; 

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; 

    [request setHTTPMethod:@"POST"]; 
    [request setHTTPBody: json_data]; 

    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
    [request setValue:[NSString stringWithFormat:@"%d", [json_data length]] forHTTPHeaderField:@"Content-Length"]; 
    [request setHTTPBody:[[jsonRequest stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding] 
         dataUsingEncoding:NSUTF8StringEncoding 
         allowLossyConversion:YES]]; 

    passwordConnection = [NSURLConnection connectionWithRequest:request delegate:self];