[ios]与参数-NSMutableURLRequest 不能解析响应

发布时间: 2017/3/28 22:48:02
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想创建一个连接到打印出 JSON 编码处理,然后解析的 URL。我的 URL 有一个参数叫做 bypass 。URL 看起来像这样︰

http://www.getchanged.net/json.asp?bypass=MIGCBgkrBgEEAYI3WAOxxx

没能解决这个问题,因为它总是说Connection failed with error: cannot parse response

NSURL *aUrl = [NSURL URLWithString:@"http://www.getchanged.net/json.asp"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:aUrl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];

[request setHTTPMethod:@"GET"];
NSString *postString = @"bypass=MIGCBgkrBgEEAYI3WAOxxx";
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];

错误︰

2014-10-29 21:43:39.529 TestMap[57987:1931535] Connection failed with error: cannot parse response

这里是怎么了?

请注意︰我取代绕道哈希有点因为它包含合理的数据。网站工作,打印出 JSON 输出。

解决方法 1:

除了好 Rob 所处理的问题,从上市公司网站 JSON 返回不验证︰

我试过几个验证程序的 url,绕过哈希 (你张贴在评论中) 和 JSON 是无效的。返回的典型错误︰

JSON Content: Invalid JSON at line 26, column 84
  Parse error on line 26:
  ...rtragen", "adresse":"fairtragen - GmbH 
  -----------------------^
  Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined'

正如json.org在解释可以包含任何字符串值

除外的任何 UNICODE 字符"或 \ 或控制字符

所以一个字符串值具有这样的结构︰

enter image description here

请注意换行符和运输所需的转义格式返回。

同时,考虑到,和看着在查尔斯你可以看到中捕获的原始输出第 26 行,列 84 包含x 0d 紧接着x 0a (即旧的 windows 风格 CRLF) 在一个值。

应逸服务器出再送他们出来的这些值。

顺便说一句,JSON 有很多的空间 (x 20 ) 和通过 CRLF 出来、 在数组、 对象和值,同时又不影响 JSON,都是不必要和做批量数据传输了。

赞助商