0

我正在使用NSURLConnection和以 JSON 格式从 API 下载数据NSJSONSerialization。JSON&以 HTML 与符号文字的形式返回所有内容:&

我想知道这是否应该在服务器上正确编码,使用 UTF-8 到 Unicode,并由我接收,&或者我是否应该做这项工作。

这是我用来下载数据的代码:

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:api_url]];
    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
    [NSURLConnection sendAsynchronousRequest:request
                                       queue:queue
                           completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
                               NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
                               // do work
                           }];
4

2 回答 2

0

JSON 必须以某种 Unicode 格式编码。格式可以是 UTF-8、UTF-16 big-endian 或 little-endian,或 UTF-32 big-endian 或 little-endian。例如,JSON 字符串中的字符可以编码为 \u007f,但如果有任何 & 字符,那么这就是服务器要发送给您的数据。例如,服务器可以发送包含 html 或 URL 的字符串,而您将接收带有 & 字符和所有字符的字符串。

于 2014-05-20T09:47:21.377 回答
0

我不认为JSON规范中要求它是一种或另一种方式。当我亲自使用API我可以控制的东西时,我喜欢在服务器端完成这类工作(更好的是,我更喜欢首先将诸如HTML标记之类的视图内容保留在数据之外)。

于 2013-08-11T21:08:49.293 回答