NSData NSString NSDictionary NSArray conversion
NSObject serialization/deserialization
- Convert NSObject(or your custom object extends from NSObject) to NSDictionary
- Convert NSDictionary to NSData
- Convert NSData to NSString(json format)
NSString <– NSData –> NSDictioanry <–> NSObject
NSString <– NSData –> NSArray
NSData and NSString
NSString *myNSString = 
    [[NSString alloc]initWithData:myNSData 
                         encoding:NSUTF8StringEncoding];
NSData *myNSData = 
    [myNSString dataUsingEncoding:NSUTF8StringEncoding];NSData and NSDictionary
NSDictionary *myNSDictionary = 
    [NSJSONSerialization JSONObjectWithData:myNSData 
                                    options:NSJSONReadingAllowFragments 
                                      error:&error];
NSData *jsonData = 
    [NSJSONSerialization dataWithJSONObject:yourDictionary 
                            options:0 error:&err];NSData and NSArray
NSData *jsonData = 
    [NSJSONSerialization dataWithJSONObject:myNSArray 
                                    options:NSJSONWritingPrettyPrinted 
                                      error:&error];
NSArray *myNSArray = [NSJSONSerialization JSONObjectWithData:myNSData options:NSJSONReadingAllowFragments error:&error];Getter
Access custom class’s object in NSDictionary
MyClass1 *myClass1 = 
    [[MyClass1 alloc]initWithNSDictionary:[myNSDictionary objectForKey:@"key1"]];
NSArray *myNSArrayList = [[NSArray alloc]init];
myNSArrayList = [myNSDictionary objectForKey:@"myNSArrayList"];Access custom class’s object in NSArray
MyClass *myClass = 
    [[MyClass alloc] initWithNSDictionary:[myNSArray objectAtIndex:i]];Further Readings:  
https://blog.soff.es/archiving-objective-c-objects-with-nscoding