Skip to content

High-performance BSON serialization and deserialization in Objective-C

License

Notifications You must be signed in to change notification settings

paulmelnikow/ObjCBSON

Repository files navigation

ObjCBSON

High-performance BSON serialization and deserialization in Objective-C.

CI Status Version License Platform

Installation

ObjCBSON is available through CocoaPods. It depends on libbson, which is installed automatically, however two of its build dependences are not.

First, install those:

brew install automake libtool

Then, add the following line to your Podfile:

pod 'ObjCBSON'

Example

#import "BSONSerialization.h"


- (void) bsonExample {
    NSError *error = nil;

    // BSON encode dictionary `sampleDict` to `NSData *` instance `bsonEncodedData`
    NSDictionary *sampleDict = @{ @"sampleKey" : @"sampleValue" };
    NSData *bsonEncodedData = [BSONSerialization BSONDataWithDictionary:sampleDict error:&error];
    NSLog(@"bsonEncodedData=%@ error=%@", bsonEncodedData, [error localizedDescription]);

    // ...end perform decording from BSON back to `NSDictionary *`
    NSDictionary *bsonDict = [BSONSerialization dictionaryWithBSONData:bsonEncodedData error:&error];
    NSLog(@"bsonDict=%@, error=%@", bsonDict, [error localizedDescription]);
}

Development

To develop on the library and run the unit tests, clone the repo, run pod install from the Example directory, and open the xcworkspace.

Contribute

License

The project is licensed under the Apache 2.0 license.

About

High-performance BSON serialization and deserialization in Objective-C

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published