| CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 24 Dec 2025 00:32:17 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090710040658
location: https://web.archive.org/web/20090710040658/https://github.com/gabriel/yajl-objc/tree/master
server-timing: captures_list;dur=1.205799, exclusion.robots;dur=0.115406, exclusion.robots.policy;dur=0.097304, esindex;dur=0.015311, cdx.remote;dur=112.981498, LoadShardBlock;dur=189.743174, PetaboxLoader3.datanode;dur=79.251937, PetaboxLoader3.resolve;dur=52.138561
x-app-server: wwwb-app28-dc8
x-ts: 302
x-tr: 352
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie: wb-p-SERVER=wwwb-app28; path=/
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 24 Dec 2025 00:32:17 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Fri, 10 Jul 2009 04:06:57 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 759ms
x-archive-orig-etag: "98452c2d58d6faa4aef4795355690a63"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 28815
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Fri, 10 Jul 2009 04:06:58 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 51_10_20090709204832_crawl102_IndexOnly.gpg-c/51_10_20090710040621_crawl101.arc.gz
server-timing: captures_list;dur=1.752281, exclusion.robots;dur=0.033455, exclusion.robots.policy;dur=0.019448, esindex;dur=0.015464, cdx.remote;dur=30.108983, LoadShardBlock;dur=207.419590, PetaboxLoader3.datanode;dur=127.879260, PetaboxLoader3.resolve;dur=142.444143, load_resource;dur=131.801405
x-app-server: wwwb-app28-dc8
x-ts: 200
x-tr: 509
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
x-location: All
x-as: 14061
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
gabriel's yajl-objc at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
| Description: | Objective-C bindings for YAJL (Yet Another JSON Library) C library edit |
| Homepage: | https://lloydforge.org/projects/yajl/ edit |
| Public Clone URL: |
git://github.com/gabriel/yajl-objc.git
Give this clone URL to anyone.
git clone git://github.com/gabriel/yajl-objc.git
|
| Your Clone URL: |
Use this clone URL yourself.
git clone git@github.com:gabriel/yajl-objc.git
|
YAJL (Objective-C Wrapper)
YAJL.framework is an Objective-C wrapper around the YAJL SAX-style JSON parser.
Download
Mac OS X
YAJL-0.2.4.zip YAJL.framework (2009/06/30)
iPhone
libYAJLIPhone-0.2.4.zip Static Library for iPhone OS 3.0 Simulator & Device
Install (Mac OS X)
There are two options. You can install it globally in /Library/Frameworks or with a little extra effort embed it with your project.
Installing in /Library/Frameworks
- Copy
YAJL.frameworkto/Library/Frameworks/ - In the target Info window, General tab:
- Add a linked library, under
Mac OS X 10.5 SDKsection, selectYAJL.framework
- Add a linked library, under
Installing in your project
- Copy
YAJL.frameworkto your project directory (maybe in MyProject/Frameworks/.) - Add the
YAJL.framekworkfiles (from MyProject/Frameworks/) to your target. It should be visible as aLinked Frameworkin the target. - Under Build Settings, add
@loader_path/../FrameworkstoRunpath Search Paths - Add
New Build Phase|New Copy Files Build Phase.- Change the Destination to
Frameworks. - Drag
YAJL.frameworkinto the the build phase - Make sure the copy phase appears before any
Run Scriptphases
- Change the Destination to
Install (iPhone)
Coming soon!
Usage
To use the streaming (or SAX style) parser, use YAJLParser.
NSData *data = [NSData dataWithContentsOfFile:@"example.json"];
YAJLParser *parser = [[YAJLParser alloc] initWithParserOptions:YAJLParserOptionsAllowComments];
parser.delegate = self;
[parser parse:data];
if (parser.parserError) {
NSLog(@"Error:\n%@", parser.parserError);
}
parser.delegate = nil;
[parser release];
// Include delegate methods from YAJLParserDelegate
/*
- (void)parserDidStartDictionary:(YAJLParser *)parser;
- (void)parserDidEndDictionary:(YAJLParser *)parser;
- (void)parserDidStartArray:(YAJLParser *)parser;
- (void)parserDidEndArray:(YAJLParser *)parser;
- (void)parser:(YAJLParser *)parser didMapKey:(NSString *)key;
- (void)parser:(YAJLParser *)parser didAdd:(id)value;
*/
Streaming Example
YAJLParser *parser = [[[YAJLParser alloc] initWithParserOptions:0] autorelease];
parser.delegate = self;
// A chunk of data comes...
YAJLParserStatus status = [parser parse:chunk1];
// 'status' should be YAJLParserStatusInsufficientData, if its not finished
if (parser.parserError) ...;
// Another chunk of data comes...
YAJLParserStatus status = [parser parse:chunk2];
// 'status' should be YAJLParserStatusOK if its finished
if (parser.parserError) ...;
Usage (Document-style)
To use the document style, use YAJLDocument. Usage should be very similar to NSXMLDocument.
NSData *data = [NSData dataWithContentsOfFile:@"example.json"];
NSError *error = nil;
YAJLDocument *document = [[YAJLDocument alloc] initWithData:data parserOptions:0 error:&error];
// Access root element at document.root
NSLog(@"Root: %@", document.root);
[document release];
This feature is coming soon. Sit tight!











