我正在开发一个iPad项目,并且该项目需要与json-rpc webservices进行交流。 web服务是基于Drupal的与模块:CCK和视图如何从json-rpc webservice获取数据:iPad/iPhone/Objective C
1)I需要推动JSON对象到web服务 2)I需要从web服务回调数据
我已经实施了SBJSON API以及iPad项目的https://github.com/samuraisam/DeferredKit/ api。
的SBJSON API工作正常,我明白这一个 的Samuriaisam DefferedKit是新的,我
我的问题是如何将数据从这个JSON-RPC web服务的,有别人一些示例代码?或者在某些地方我可以找到Objective C - json-rpc webservice文档。
亲切的问候,
巴特Schoon
--------- --------更新
我现在使用此代码:
NSString *jsonString = @"{\"method\":\"views.get\",\"params\":{\"view_name\":\"client_list\",\"sessid\":\"xxxxxx\"},\"id\":1}";
NSString *requestString = [NSString stringWithFormat:@"%@",jsonString,nil];
NSLog(@"input: %@",jsonString);
NSData *requestData = [NSData dataWithBytes: [jsonString UTF8String] length: [jsonString length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: [NSURL URLWithString:@"http://subdomain.domain.com/services/json-rpc"]];
NSString *postLength = [NSString stringWithFormat:@"%d", [requestData length]];
[request setHTTPMethod: @"POST"];
[request setValue:@"Content-type: application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:requestData];
//Data returned by WebService
NSData *returnData = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil ];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding: NSUTF8StringEncoding];
NSLog(@"output: %@",returnString);
这将导致此消息来自服务器:
{"error":{"name":"JSONRPCError","code":-32600,"message":"The received JSON not a valid JSON-RPC Request"},"version":"1.1"}
--------- /更新--------
有什么不对?有人有此经验吗?
亲切的问候,
巴特Schoon
谢谢你的帖子, 不正是我期待的,我贴了一些上面的新代码。你有一些建议吗? 亲切的问候, 巴特肖恩 – 2010-12-21 09:39:06
嗨巴特,你检查JSon文件,你收到它是否有效。否则,您可以尝试与其他JSon文件临时用途。不过,如果你会得到相同的错误,那么看看这个链接:http://groups.google.com/group/json-rpc/web/json-rpc-1-2-proposal – 2010-12-21 10:39:34
好吧,它的工作原理。我已经选择在Drupal中使用普通的json方法而不是rpc版本。所以现在我发布一些POST变量到服务器并接收一个json字符串返回。 Thx帮助我! – 2010-12-24 14:18:48