我正在解析JSON网址。我得到的是\u00e2\u20ac\u0153而不是单引号和\u00e2\u20ac\u009d而不是双引号。就我而言,我正在执行NSUTF8StringEncoding,但仍未获得单引号和双引号。

这是Web浏览器中的响应:


  {“状态”:“ 1”,“数据”:[{“ id”:“ 1345”,“ title_en”:“”,“ content_en”:“妈妈
  说,\ u00e2 \ u20ac \ u0153我喜欢这个。\ u00e2 \ u20ac \ u009d \ n \ n杰克
  说,\ u00e2 \ u20ac \ u0153我不\ u00e2 \ u20ac \ u2122t得到
  \ u00e2 \ u20ac \ u009d \ n“,” image“:” 1396“,” pos“:” 2“,” video_type“:” 0“,” video“:” 0“,” video_alt“:”“ ,“ sound_type”:“ 1”,“ sound”:“ 1123”,“ sound_alt”:“”,“ author”:“”,“ type”:“ 0”,“ book_id”:“ 148”,“ user_id” :“ 24”,“ title”:“
  艺术
  博物馆”,“ author_url”:“ maureen-d-1”,“ book_url”:“艺术博物馆”,“ video_filename”:“”,“ sound_filename”:“ atmuseum2.m4a”}]}


是否可以使用NSUTF8StringEncoding或其他内容解析以上响应。或者我需要从PHP方面完成它。

最佳答案

您是否使用NSJSONSerialization?在我的应用程序中,我这样做:

NSError* localError;
id jsonObjects = [NSJSONSerialization JSONObjectWithData:data
                                                 options:NSJSONReadingMutableContainers
                                                   error:&localError];


在“数据”变量中,我收到了服务器的响应。我也从服务器接收了UTF编码的文本(如\ u00e2 \ u20ac),但最终我得到了正常的字符串。 “ jsonObjects”将包含本机类型的数据:

    if ([jsonObjects isKindOfClass:[NSDictionary class]])
    {
        NSNumber* age = [jsonObjects objectForKey:@"age"];
    //...etc
    }

关于ios - 在Json Parsing中解析双引号和单引号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14475615/

10-10 20:46