国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

socket上傳nsdictionary的json數據異常

2019-11-14 18:11:23
字體:
來源:轉載
供稿:網友

異常情況如下:按照正常的寫法,將上傳對數據封裝在nsdictionary里,然后檢驗是否符合json格式化,調用系統的json序列化方法將nsdictionary轉化為json數據然后上傳,

異常結果如下:,后臺只能收到收到nsdictionary的第一個{,后測試數據從nsdictionary的第一個{斷開了

由于控制臺打印的nsdictioanry數據如下

故猜測上傳數據時"/n"作為了數據的分隔符被切斷了,所以將nsdictionary轉化為nsstring并且將"/n"替換為空格然后發現數據無法上傳,最后追加了"/n"到nsstring末端,上傳成功

完整代碼如下:

#PRagma mark - GCDAsyncSocketDelegate
/** *  鏈接成功 * *  @param sock sock實例 *  @param host ip *  @param port 端口 */-(void)socket:(GCDAsyncSocket *)sockdidConnectToHost:(NSString *)host         port:(uint16_t)port{    NSLog(@"didConnectToHost");    //    gpstype:2015    //        name:賬號    //        pswd:密碼        NSLog(sock.isConnected?@"YES":@"NO");    if (sock.isConnected)    {/*
//nsstring上傳需要加"/n"分隔符方可上傳成功
[sock writeData:[@"ABCABCABCABCABCABC/n" dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:0]; */ NSDictionary* nsDictionaryUser=@{@"gpsinfo":@"Gpsinfo",@"pswd":self.passWord,@"other":@"666",@"gpstype":@2015,@"name":self.name}; if ([NSJSONSerialization isValidJSONObject:nsDictionaryUser]) { NSLog(@"isValidJSONObject"); NSError* error;
//先轉nsdata再轉nsstring是為了保證nsdictionary格式不變 NSData
*nsDataUser= [NSJSONSerialization dataWithJSONObject:nsDictionaryUser options:NSJSONWritingPrettyPrinted error:&error]; NSString* json=[[NSString alloc] initWithData:nsDataUser encoding:NSUTF8StringEncoding];// NSLog(@"nsDictionaryUser:%@",json); json=[json stringByReplacingOccurrencesOfString:@"/n" withString:@""];
//空格根據情況可以不去掉 json
=[json stringByReplacingOccurrencesOfString:@" " withString:@""]; json=[json stringByAppendingString:@"/n"]; NSLog(@"json:%@",json); [sock writeData:[json dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:0]; //保持讀取的長連接 [sock readDataWithTimeout:-1 tag:0]; if (error) { NSLog(@"localizedDescription:%@",[error localizedDescription]); NSLog(@"localizedFailureReason:%@",[error localizedFailureReason]); } else { } } } }

 
數據上傳成功了,后臺可以根據數據返回數據了


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安岳县| 轮台县| 陇南市| 霸州市| 大厂| 象州县| 阳曲县| 巩义市| 西华县| 汉沽区| 进贤县| 杨浦区| 东莞市| 天等县| 许昌县| 永城市| 包头市| 天津市| 蒙自县| 灵璧县| 奇台县| 静乐县| 龙门县| 新密市| 黔西县| 广汉市| 顺昌县| 麟游县| 晋中市| 鹰潭市| 科尔| 江达县| 修水县| 延庆县| 额尔古纳市| 来宾市| 东乡| 晋城| 奉化市| 仙游县| 浦北县|