【发布时间】:2011-03-16 10:41:56
【问题描述】:
我有以下 Objective-c 代码,它可以完成我需要为 android 做的事情,但不知道如何去做。我需要访问网络服务器上的一个 php 文件,该文件将返回一个 JSON 字符串(我认为是字典?)。以下是我的 iPhone 版本代码:
+ (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 中。任何帮助表示赞赏。
【问题讨论】:
-
请检查link
-
您好,试试这个链接,它将有处理(解析)来自服务器的 json 和 XML 响应的工作代码。 ibm.com/developerworks/xml/library/x-andbene1 谢谢。
标签: java android objective-c json