【发布时间】:2011-06-27 14:18:15
【问题描述】:
我正在使用 ASIHTTPRequest 和 json-framework 将 JSON 发布到 Rails 应用程序,
问题是当 JSON 到达服务器时,它被双引号括起来,
这是我用来编码和发送 JSON 的代码:
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/shared_lists.json",kAPIRoot]]];
NSString *dataString = [NSString stringWithFormat:@"shared_items=%@&shared_list=%@&facebook_id=%@",[sharedItems JSONRepresentation],[sharedList JSONRepresentation],facebookID];
NSLog(@"%@",[NSString stringWithUTF8String:[[dataString dataUsingEncoding:NSUTF8StringEncoding] bytes]]);
[request appendPostData:[dataString dataUsingEncoding:NSUTF8StringEncoding]];
[request setRequestMethod:@"POST"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];
[queue addOperation:request];
正确记录为:
shared_items=[{"entity_id":"531","position":"1"},{"entity_id":"733","position":"2"},{"entity_id":"723","position":"3"},{"entity_id":"2530","position":"4"}]&shared_list={"list_id":1197}&facebook_id=-1540981104
虽然当它到达服务器时输出为:
shared_items="[{"entity_id":"531","position":"1"},{"entity_id":"733","position":"2"},{"entity_id":"723","position":"3"},{"entity_id":"2530","position":"4"}]",shared_list="{"list_id":1197}",facebook_id="-1540981104"
如何停止将数组包装为单个字符串?
【问题讨论】:
-
问题出在服务器的序列化上。
标签: iphone objective-c json asihttprequest