iOS从JSON API编码字符串

时间:2013-08-11 20:59:20

标签: ios objective-c unicode encoding

我正在使用NSURLConnectionNSJSONSerialization从JSON下载API中的数据。 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
                           }];

2 个答案:

答案 0 :(得分:0)

我认为JSON规范中没有要求它是这样或那样的。当我亲自使用我可以控制的API时,我喜欢在服务器端完成这项工作(更好的是,我更喜欢保持查看HTML标记等内容首先是数据。)

答案 1 :(得分:0)

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