JSON解析的那些格式

首先感谢~小贤 童鞋提供这个接口哈!

  • 咱们先看看POST拼接的数据,下面 _num 是请求体类似requestData={@"userid":@"531645",@"date":2016-04-06},我们可以知道_num就是与现在的日期相差的天数。


    1.png
  • 这里要把 _num 转化成二进制NSData,然后再转NSString,就可以解决了。

这个是拼接JSON参数!博客园

json参数.png

3、下面的这种格式,主要是服务器,那边的返回不太符合常规写法,所以,我根据实际情况这样写:

manager.responseSerializer.acceptableContentTypes =
 [NSSet setWithObject:@"text/plain"];
/**
GBK2312中文编码
@param kCFStringEncodingGB_18030_2000 */ NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    AFHTTPRequestOperationManager * manager = [AFHTTPRequestOperationManager manager];   
 
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];     
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];// 服务器,那边的问题,具体设置,看请求体

    [manager GET:urlStr parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

    NSString * retStr = [[NSString alloc] initWithData:responseObject encoding:enc];

    NSData * data = [retStr dataUsingEncoding:NSUTF8StringEncoding];

    NSError * error = [[NSError alloc] init];

    //json解析
    NSArray * array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];


    [self parserArray:array];//解析数据

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    NSLog(@"%@", error);

    }];

2021/05/15: 补充:
在前端web,可能你也会遇到一种解析?考考你!

/?user='Lukas'&pass='123456'

把上面的这个解析成:{user:'Lukas',pass:'123456'}

为什么补上呢?因为我主要是在未来添加 NodeJS分享,给大家留个印象,其次,我依稀记得曾经有在iOS开发上遇到这个问题,然后就补上了。

    var testurl = "'/?user='Lukas'&pass='123456'";
    var url = testurl.substring(2);
    var arr = url.split('&');
    var json = {};
    for(var i = 0;i < arr.length;i++){
        json[arr[i].split('=')[0]]=arr[i].split('=')[1];
    };
    console.log(json.user);
    if(json['user'] == 'leo' && json['pass'] == '123456'){
        response.write('登陆成功');
    }

上面的这个可是JS的基础。想不明白的可以私聊我!

个人项目: 猫云宠物APP(安卓2021/6/1上线)

PS:这个平台挺坑,例如:连 github 开源项目的链接都过滤掉了,不是很想待在这个平台了。未来会转到其它平台或者自己搭建个博客,推荐 gitbook上写,你懂的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容