iOS网络 POST通过JSON传数据到后台

本文介绍如何在PHP和iOS应用中联合处理JSON数据,包括PHP获取输入JSON,反序列化并打印对象详情,以及iOS应用通过POST方法将JSON数据发送到服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

后台php脚本代码

<?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
测试的话可以去掉字典转模型的步骤,直接传字典进行序列化的

http://pan.baidu.com/s/1dDCOcKD


转载于:https://my.oschina.net/lanrenbar/blog/379292

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值