后台php脚本代码
header('Content-Type:text/plain;charset=utf-8');
$json = file_get_contents('php://input');
// 反序列化JSON
$obj = json_decode($json, TRUE );
// 打印对象明细信息
print_r(json_encode($obj));
?>
iOS上的代码如下
//
// ViewController.m
// POST 通过JSON传数据
//
// Created by chen on 15/2/17.
// Copyright (c) 2015年 lanrw. All rights reserved.
//
#import "ViewController.h"
#import "Person.h"
@interface ViewController ()
@property (nonatomic,strong) Person *person;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self postJson];
}
- (void)postJson
{
NSURL *url = [NSURL URLWithString:@"http://localhost/post/postjson.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:15];
request.HTTPMethod = @"post";
// 自定义字典
NSDictionary *dict = @{@"name":@"bbb",@"age":@(11)};
// 字典转模型
self.person = [Person personWithDict:dict];
// 模型转字典 --- 取其中一个键值
NSDictionary *dict1 = [self.person dictionaryWithValuesForKeys:@[@"age"]];
// 序列化
NSData *data = [NSJSONSerialization dataWithJSONObject:dict1 options:0 error:NULL];
request.HTTPBody = data;
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
id res = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",res);
}];
}
@end 测试的话可以去掉字典转模型的步骤,直接传字典进行序列化的