簡體   English   中英

responseString為null

[英]responseString is null

我的網絡服務返回帶有新行的json字符串,因此它引起問題,即responseString始終為null。

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

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

---- responsestring:null

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

NSString *tempString = [tempString stringByReplacingOccurrencesOfString:@"\n" withString:@" "];

我認為您需要這樣做:)

您確定kampanyadata不為null嗎? 如果不為null,請嘗試使用NSASCIIStringEncoding如下所示:

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

題外話

然后通過NSLog(); 方法采用已經格式化的NSString作為參數,因此您可以使用:

NSLog(@"responsestring:%@",responseString);
    soapResults = [[NSString alloc]
                    initWithBytes: [webData mutableBytes]
                    length:[webData length]
                    encoding:NSUTF8StringEncoding];

試試這個對我來說很好

您獲得了一些NSData,然后嘗試將其轉換為NSString。 此時不涉及JSON。 任何錯誤都與JSON或換行符無關。 可能性:1.您收到的NSData為零。 2.您收到的NSData不是UTF-8格式。

您的NSLog語句很有趣。 查看NSLog的定義-第一個參數是格式字符串。 代替

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

你應該寫

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

您可以將JSON文檔直接傳遞給NSJSONSerializer。 無需將其轉換為NSString。 實際上,如果數據很大,那只會浪費寶貴的內存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM