Files
RestKit/Code/Network/RKJSONSerialization.m
Jeremy Ellison 6a5ee2af7e Revert "Remove per-file copyrights"
This reverts commit 91e7c6bb5e.
2011-01-12 15:27:19 -05:00

54 lines
1.2 KiB
Objective-C

//
// RKJSONSerialization.m
// RestKit
//
// Created by Blake Watters on 7/8/10.
// Copyright 2010 Two Toasters. All rights reserved.
//
#import "RKJSONSerialization.h"
#import "NSObject+RKJSONSerialization.h"
#import "RKJSONParser.h"
@implementation RKJSONSerialization
+ (id)JSONSerializationWithObject:(NSObject*)object {
return [[[self alloc] initWithObject:object] autorelease];
}
- (id)initWithObject:(NSObject*)object {
if (self = [self init]) {
_object = [object retain];
}
return self;
}
- (void)dealloc {
[_object release];
[super dealloc];
}
- (NSString*)HTTPHeaderValueForContentType {
return @"application/json";
}
- (NSString*)JSONRepresentation {
return [[[[RKJSONParser alloc] init] autorelease] stringFromObject:_object];
}
- (NSData*)HTTPBody {
return [[self JSONRepresentation] dataUsingEncoding:NSUTF8StringEncoding];
}
- (BOOL)isEqual:(id)object {
if ([object isKindOfClass:[NSString class]]) {
return [[self JSONRepresentation] isEqualToString:object];
} else {
NSString* string = [[[[RKJSONParser alloc] init] autorelease] stringFromObject:object];
return [[self JSONRepresentation] isEqualToString:string];
}
}
@end