我通过以下方式从Xcode发送JSON数据:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"Test title", @"title",
@"Test option1", @"option1",
@"Test option2", @"option2", nil];
NSError *error;
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:&error];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSURL *url = [NSURL URLWithString:@"http://somedomain.com/posts/add"];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setHTTPBody:jsonData];
[NSURLConnection connectionWithRequest:request delegate:self];
我按照以下方式将CakePHP中收到的数据写入文件:
public function add()
{
if ($this->request->is('post'))
if ($this->RequestHandler->requestedWith('json')) {
file_put_contents('debug.txt', print_r($this->request->data, true));
}
}
}
并且文件中的数据('debug.txt')如下所示:
阵 ( [option2] =>测试选项2 [title] =>测试题目 [option1] =>测试选项1 )
我知道发送的数据是JSON格式的,我希望收到的数据显示为JSON格式,而不是'debug.txt'中的数组。这是一个正确的假设,如果是这样,会出现什么问题?
答案 0 :(得分:0)
我不确定这里有什么问题,在用PHP做任何事情之前你必须将它转换成数组,看来CakePHP请求处理程序正在为你自动执行此操作。
如果你真的想让原来的json再次回归json_encode()
。