iOS开发:字典(NSDictionary)和数组( NSArray)转换成字符串
来源:互联网 发布:如何防止网络威胁 编辑:程序博客网 时间:2024/05/14 02:24
概述:
在项目开发中,总是与服务器进行着接口的交互,传参是不可缺少的一部分。后台返回的j son数据我们可以很好的解析使用,但是我们如何向后台发送j son数据的参数呢?要知道,一般服务器是不允许传对象的。以下是在项目中遇到的实际问题,在此总结一下,供大家交流。
一. 字典转字符串:
1。商品评论需求:对购买的产品进行评论,评论时需要上传图片,而且对本次购买的所有产品需要评论。例如:在张三家买了一瓶水,一个面包。评论时需要对水和面包分别评论,并把评论内容一起传给后台。数据如下:
NSDictionary *jsonDic; jsonDic = @{ //店铺信息 @"orderId" : _orderId, @"goodsId" : _goodsId, @"typeCode" : @"app", @"isAnonymity" : isAnonymity, //评论内容 @"comm" : @[ @{ @"commentMainId" : _orderGoodsId1,//水的ID @"t1" : @"10", //5星好评 @"commentContent": text1, // 内容 @"comPictures" : comPicturesArr //评论水的图片数组 }, @{ @"commentMainId" : _orderGoodsId2, @"t1" : @"9", @"commentContent": text2, @"comPictures" : comPicturesArr2 } ] }
但是怎么将该字典传到后台服务器,传参只能是字符串,不能直接传对象格式。
2。解决方法:
需要将改字典利用NSJSON转化成字符串;
NSString *jsonString = [jsonDic JSONString];
二. 数组转字符串:
1。本地上传资源到服务器:上传多个资源到服务器,数据如下:
上传资源需要利用form形式将文件路径转化成字符串(上传头像的URL,上传文件的文件URL) AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:[NSString stringWithFormat:@"%@%@", SERVER_URL, UploadReource] parameters:@{@"fileType" : fileType} constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { //将获取的文件路径(NSSting)转化成数据流(NSData): NSData *fileData = [filePath dataUsingEncoding:NSUTF8StringEncoding]; //以文件方式上传 [formData appendPartWithFileData:fileData name:@"myFile" fileName:@"file" mimeType:@"resourceFile"]; } success:^(AFHTTPRequestOperation *operation, id responseObject) { if ([[responseObject objectForKey:@"res_type"] isEqualToString:@"success"]) { //上传成功 NSString *urlString = [responseObject objectForKey:@"lyrss_msg"]; /*********************************************/ NSArray *fileArray = @[ @{ @"keyword" : @"资源名称1", @"videoFile" : urlString1 }, @{ @"keyword" : @"资源名称2", @"videoFile" : urlString2 } ]; //后台服务器同样不接受对象,必须把数组转化成字符串传给后台 (1).先讲数组转化成NSData数据 NSData *jsonData = [NSJSONSerialization dataWithJSONObject:fileArray options:NSJSONWritingPrettyPrinted error:nil]; (2).在将NSData转化成字符串 NSString *fileString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding]; (3).请求接口,其他业务流程 }else{//文件上传失败 } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { //接口请求失败 }];
1 0
- iOS开发:字典(NSDictionary)和数组( NSArray)转换成字符串
- iOS NSDictionary(字典)或者NSArray(数组)和JSON串的转换
- OC中的字符串(NSString)、字符串数组(NSArray)和字典(NSDictionary)
- iOS开发之将NSString字符串转换为字典NSDictionary
- nsdictionary ,nsarray 和 json 字符串 的转换
- 【iOS开发】 中数组、集合、字典的使用(NSArray, NSSet, NSDictionary)
- Object C 字符串、数组、字典集合 NSString NSArray NSDictionary操作
- 字符串(NSString)、字典(NSDictionary)、数组(NSArray)的总结
- iOS NSArray数组转换成NSString字符串
- IOS 中数组、集合、字典的使用(NSArray, NSSet, NSDictionary)
- iOS OC (五) 字典NSDictionary 数组 NSArray 集合 NSSet
- iOS中的遍历(数组NSArray,字典NSDictionary,集合NSSet)
- iOS中的遍历(数组NSArray,字典NSDictionary,集合NSSet)
- 字典 (NSDictionary) 和 数组在(NSArray)快捷建立 in Swift
- iOS开发学习专题-基础知识(三)NSDictionary字典NSMutableDictionary可变字典NSDictionary字典和json转换详细使用方式
- Swift JSON 字符串 和 对象(NSArray,NSDictionary) 相互转换
- IOS开发中 字符串和数组NSString NSArray操作
- IOS开发中 字符串和数组NSString NSArray操作
- JDBC 和 Mybatis连接mysql数据库的时候,设置字符集编码
- 随笔,玩了一段日子的ssh,现在把代码和心得一起放上去。大家一起交流一下。
- Cinder的多后端存储服务
- 数据库性能优化三:程序操作优化
- nginx搭建tomcat集群
- iOS开发:字典(NSDictionary)和数组( NSArray)转换成字符串
- The XS Job File
- Android Material Design系列之Navigation Drawer
- 【oracle】表空间 tablespace
- jquery对象与DOM对象的相互转换
- Java包的静态导入import static和import的区别
- XS Job File Keyword Options
- SQL索引一步到位
- 如何查找android emulator内核的精确版本