2016-04-10 23 views
5

Tôi đang sử dụng Khung làm việc trong dự án của mình nhưng tôi nhận được phản hồi theo định dạng chuỗi. Tôi muốn nhận được giá trị của "Data" trong phản ứng dưới đây -Nhận phản hồi dịch vụ Web theo định dạng chuỗi

"{\"Result\":\"Success\",\"Data\":\"intro-1898-1449000428650.mp4\"}" 

Tôi đã sử dụng mã bên dưới:

[Helper PostWebServiceRequest:kIntrovideo InputParameters:parameters competion:^(BOOL result, NSDictionary *response) { 
    if (result){ 
     NSLog(@"response : %@",response); 

     NSString *data= [NSString stringWithFormat:@"%@",response ]; 

     NSError *jsonError; 
     NSData *objectData = [data dataUsingEncoding:NSUTF8StringEncoding]; 
     NSDictionary *json = [NSJSONSerialization JSONObjectWithData:objectData options:NSJSONReadingMutableContainers error:&jsonError]; 

Trả lời

3

kể từ khi đối tượng trả lời của bạn có vẻ là một mảng và không (như đã nêu) một cuốn từ điển, hãy thử như sau:

NSString *jsonString = ((NSArray *)response).firstObject; 
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 
NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil]; 
NSString *data = jsonObject[@"Data"]; 
+0

xin lỗi vì đã trả lời muộn. tôi đã sử dụng như bạn đề cập đến nhưng ứng dụng bị lỗi và lỗi như sau - [__ NSCFArray objectForKeyedSubscript:]: bộ chọn không được nhận dạng được gửi tới ví dụ 0x787c4c90 2016-04-11 03: 00: 07.512 StaffingEvolution [1789: 129588] ** * Chấm dứt ứng dụng do ngoại lệ uncaught 'NSInvalidArgumentException', lý do: '- [__ NSCFArray objectForKeyedSubscript:]: unrecognized selector gửi đến instance 0x787c4c90' –

+0

để 'response' là một mảng và không phải là một từ điển như đã nêu trong mã của bạn? –

+0

bởi vì nó ở định dạng chuỗi –

0

không chắc, nhưng có vẻ như máy chủ mà không thể vượt qua đối tượng trong Json, đó là phải vượt qua liên kết để đặt từ nơi bạn có thể tải dữ liệu này.

Các vấn đề liên quan