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