Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gson equivalent in Objective-C

Is there any equivalent to gson in Objective-C?

Thanks.

like image 614
itsaboutcode Avatar asked Feb 26 '11 04:02

itsaboutcode


3 Answers

DCKeyValueObjectMapping https://github.com/dchohfi/KeyValueObjectMapping is not a JSON parser but an object-json mapper to inject NSObject properties from NSDictionary/NSArray.

like image 52
FUJI Goro Avatar answered Oct 20 '22 01:10

FUJI Goro


I recently used Mantle which works great and is very similar to GSON (which is use for android projects)

https://github.com/Mantle/Mantle

like image 36
Mads Lee Jensen Avatar answered Oct 20 '22 00:10

Mads Lee Jensen


OCMapper is very similar to Gson and easy to use https://github.com/aryaxt/OCMapper

Json

{
   "firstName"   : "FirstName",
   "lastName"    : "LastName",
   "age"         : 26,
   "dateOfBirth" : "01/01/2013",
   "address"     : { 
                        "city" : "San Diego", 
                        "country" : "US"  
                   },
   "posts"       : [
                         {
                             "title" : "Post 1 title",
                             "datePosted : "04/15/2013",
                         },
                         {
                             "title" : "Post 2 title",
                             "datePosted : "04/12/2013",
                         }
                   ]
}

Model

@objc public class User: NSObject {

    var firstName: String?
    var lastName: String?
    var age: NSNumber?
    var dateOfBirth: NSDate?
    var address: Address?
    var posts: [Post]?
}

Usage Swift

let user = ObjectMapper.sharedInstance().objectFromSource(dict, toInstanceOfClass:User.self) as User

or

let User = User.objectFromDictionary(dictionary)

Usage Objective C

User *user = [[ObjectMapper sharedInstance] objectFromSource:dictionary toInstanceOfClass:User.class];

or

User *user = [User objectFromDictionary:dictionary];
like image 33
aryaxt Avatar answered Oct 20 '22 00:10

aryaxt