mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-01 22:42:51 +08:00
54 lines
1.2 KiB
Objective-C
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
|