2012-01-23 47 views
6

Tôi có đối tượng NSData, tôi cần chuyển đổi đối tượng đó thành đối tượng NSDictionary.Chuyển đổi NSData thành JSON

Bây giờ tôi cần chuyển đổi số này thành NSDictionary, Làm cách nào tôi có thể thực hiện việc này theo chương trình?

lưu ý: Sau khi tôi lưu NSData vào NSDictionary tôi sẽ có thể truy cập key value các cặp NSDictionary.

Tôi không có một mã số để chứng minh hoạt động của tôi cho đến nay, tôi đã chỉ tạo ra các đối tượng NSData, và không có đầu mối để tiếp tục :)

+3

Và những gì định dạng là 'dữ liệu' trong? Bạn sẽ cần một số logic để chuyển đổi bất cứ điều gì nó thành một từ điển trừ khi nó ở một trong các định dạng serialization tiêu chuẩn. –

+0

Có phải dữ liệu JSON mà bạn muốn chuyển đổi không? –

+0

Vâng, đó là dữ liệu JSON. Ai đó có thể cho tôi xem mã mẫu hoặc hướng dẫn chứng minh chuyển đổi – Illep

Trả lời

3

Bạn có thể phân lớp MKNetworkOperation và ghi đè lên các phương pháp responseJSON như sau:

-(id) responseJSON 
{ 
    NSString *rawJSON; 
    id jsonValue = nil; 
    if ((rawJSON = [[NSString alloc] initWithData:[self responseData] encoding:NSUTF8StringEncoding]) != nil) { 
     SBJsonParser *jsonParser = [[SBJsonParser alloc] init]; 
     if ((jsonValue = [jsonParser objectWithString:rawJSON]) == nil) { 
      NSLog(@"This string doesn't seem to be JSON: '%@'\nraw Data : '%s'", rawJSON, (char *)[[self responseData] bytes]); 
      return [self responseString]; 
     } 
    } 
    else { 
     NSLog(@"This data doesn't seem to be an UTF8 encoded string: %@", [self responseData]); 
     return [self responseString]; 
    } 

    return jsonValue; 
} 
3

Vui lòng kiểm tra liên kết này của stack overflow, tôi đã tiêu thụ các dịch vụ JSON, nó sẽ giúp bạn rất nhiều. Tất cả các mã hóa là có.

JSON Data Conversion

Và đây là các hướng dẫn với dự án mẫu

JSON Parse Tutorial

Hy vọng bạn sẽ tìm thấy nó hữu ích

+0

tôi đang sử dụng MKNetworkKit hay không. Bạn có thể giúp tôi trong đó – Illep

+2

Tôi chưa sử dụng điều đó, tôi thích sử dụng các phương thức và khung công tác gốc của iOS, hãy thử NSJSONSerialization, bạn sẽ thấy dễ dàng hơn để tuần tự hóa và deserialize –

1

tôi khuyên bạn nên gọi SBJSON framework, nó tiết kiệm thời gian của tôi nhiều lần, chính xác hoàn thành công việc của tôi và dễ sử dụng. Bạn không cần biết chi tiết về thuật toán chuyển đổi, chỉ cần tải xuống và gọi nó.

Bạn có thể tải xuống từ here, sau đó theo dõi this tutorial để hoàn thành công việc của mình.

+0

Vâng, tôi đang sử dụng MKNetworkKit. Và tôi là loại bị mất – Illep

+0

Xin lỗi tôi chưa sử dụng MKNetworkKit. Tôi cảm thấy may mắn khi tìm thấy SBJSON lần đầu tiên khi tôi cần một trình phân tích cú pháp JSON. Tôi đề nghị bạn chuyển sang sử dụng SBJSON, hoặc bạn có thể muốn sửa đổi câu hỏi của bạn để hỏi vấn đề cụ thể về MKNetworkKit. Hy vọng tôi có thể giúp. – Skyler

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