我无法将NSData转换为NSMutableArray

时间:2016-07-13 12:07:54

标签: ios json nsstring nsdata

我想尝试将NSData转换为NSDictionary或NSArray,但有些我不能这样做,但每当尝试转换为NSString时,它将转换和门控数据,以便任何人都可以知道什么是错误,请帮我下面是代码转换

 NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data
                                                                   options:0
                                                                            error:nil];

以下代码转换为NSString

NSString * str = [[NSString alloc] initWithData:数据编码:NSUTF8StringEncoding];

但问题是,当获得这种类型的数据时,它将在数组上转换 的响应

  

[[ “超人”,0],[ “糖”,0],[ “苏丹预告片”,0],[ “夏天”,0],[ “超人”,0],[ “星期日糖果” ,0],[ “升华”,0],[ “夏天16”,0],[ “超级水果”,0],[ “苏丹歌曲”,0]]

但是每当得到这种类型的响应时它就不会转换为数组格式,因为,[3 on response

响应:

  

[[ “ssundee”,0],[ “赛琳娜”,0],[ “SIA”,0],[ “对不起碧昂丝”,0],[ “了Smosh”,0],[“运动衫雅各布   缝匠肌 “0],[ ”skydoesminecraft“,0],[” 秘密宠物的生活   拖车”,0,[3]]

2 个答案:

答案 0 :(得分:0)

1)您需要在id类型变量&检查下面的响应类别。

2)您还需要检查JSON转换是否成功

 NSError * error;

 id result = [NSJSONSerialization JSONObjectWithData:data 
      options:0 error:&error];

if (!error) {

 if([id isKindOfClass:[NSDictionary class]]){
   //Response is Dictonary
   } else if ([id isKindOfClass:[NSArray class]]){
   //Response is Array
   } else {
   //any other format
   }

 } else {

  //Handle error

 }

答案 1 :(得分:0)

try this one

    NSError* error;
                 NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseObject
                                                                      options:kNilOptions
                                                                        error:&error];