0

我的 web 服务返回带有新行的 json 字符串,因此它会导致 responseString 始终为 null 的问题。

NSString *responseString=[[NSString alloc] initWithData:kampanyadata encoding:NSUTF8StringEncoding];

NSLog(@"%@",[NSString stringWithFormat:@"responsestring:%@",responseString]);

----响应字符串:空

如何替换 JSON 字符串中的换行符?

4

4 回答 4

0

你得到了一些 NSData,并试图将其转换为 NSString。此时不涉及 JSON。任何错误都与 JSON 或换行符无关。可能性: 1. 你收到的 NSData 是 nil。2. 您收到的 NSData 不是 UTF-8 格式。

您的 NSLog 声明很有趣。看 NSLog 的定义——第一个参数是一个格式字符串。代替

NSLog(@"%@",[NSString stringWithFormat:@"responsestring:%@",responseString]);

你应该写

NSLog (@"responseString:%@", responseString);

您可以将 JSON 文档直接传递给 NSJSONSerializer。无需将其转换为 NSString。实际上,如果数据很大,只是浪费宝贵的内存。

于 2014-03-12T18:24:07.553 回答
0
    soapResults = [[NSString alloc]
                    initWithBytes: [webData mutableBytes]
                    length:[webData length]
                    encoding:NSUTF8StringEncoding];

试试这个,这对我来说很好

于 2012-06-21T06:24:15.840 回答
0
NSString *tempString = [tempString stringByReplacingOccurrencesOfString:@"\n" withString:@" "];

我认为你需要这样做:)

于 2012-06-19T13:57:55.187 回答
0

你确定 kampanyadata 不为空吗?如果它不是 null 尝试NSASCIIStringEncoding像这样使用:

NSString *responseString=[[NSString alloc] initWithData:kampanyadata encoding:NSASCIIStringEncoding];.

无关

顺便说一句,该NSLog();方法采用已经格式化的 NSString 作为参数,因此您可以使用:

NSLog(@"responsestring:%@",responseString);
于 2012-06-19T14:30:02.350 回答