0
我已經得到了下面的目標c代碼,它做了我需要爲android做的事但不知道如何去做。我需要訪問一個Web服務器上的PHP文件,它將返回一個JSON字符串(字典,我認爲?)。以下是我對iPhone版本的代碼:從android中製作JSON請求
+ (NSDictionary *)getNewMission:(int)maxID
{
NSString *serverUrl = @"http://www.website.com/api/api.php";
NSString *methodString = [NSString stringWithFormat:@"\"method\":\"getNewItem\",\"max_item_id\":\"%d\"", maxID];
NSString *postStr = [NSString stringWithFormat:@"json={%@,\"key1\":\"%@\",\"key2\":\"%@\"}", methodString, KEY_1, KEY_2];
return [JsonManager handleJSONRequest:postStr baseURL:serverUrl];
}
+ (NSDictionary *)handleJSONRequest: (NSString*)postString baseURL:(NSString*)baseUrl
{
NSData *postData = [postString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:baseUrl]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSError *error;
NSURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSDictionary *results = [data JSONValue];
[data release];
return results;
}
我應該在Android中複製此應用程序的位置?我真的沒有任何有意義的JSON體驗,特別是不在Java/Android中。任何幫助表示讚賞。
請選中該[鏈接](HTTP:// www.instropy.com/2010/06/14/reading-a-json-login-response-with-android-sdk/) – 2011-03-16 10:51:07
嗨,試試這個鏈接,它將有處理(解析)json和XML的工作代碼服務器響應。 http://www.ibm.com/developerworks/xml/library/x-andbene1/謝謝。 – 2011-03-16 11:15:44