Search code examples
objective-ciosios5

What is the preferred datatype to parse JSON into in Objective-C?


What is the preferred datatype to parse JSON into in Objective-C? I'm looking for a data type that mirrors the ability to use key=>value style and just array form.


Solution

  • Typically libraries (such as SBJson) will return their parsed results as either an NSArray or an NSDictionary, just depending on if the parsed JSON element was an object or an array.

    From SBJsonParser.h:

    /**
     @brief Return the object represented by the given string
    
     This method converts its input to an NSData object containing UTF8 and calls -objectWithData: with it.
    
     @return The NSArray or NSDictionary represented by the object, or nil if an error occured.
     */
    - (id)objectWithString:(NSString *)repr;
    

    In your question you asked "I'm looking for a data type that mirrors the ability to use key=>value", that is by definition exactly what a dictionary is... so, you're probably looking for NSDictionary.