Merge pull request #113 from iwat/experimental-fix-jsonencode
Fix AFJSONEncode to work properly
This commit is contained in:
commit
6b48178105
1 changed files with 9 additions and 9 deletions
|
|
@ -32,9 +32,9 @@ static NSData * AFJSONEncode(id object, NSError **error) {
|
||||||
id _NSJSONSerializationClass = NSClassFromString(@"NSJSONSerialization");
|
id _NSJSONSerializationClass = NSClassFromString(@"NSJSONSerialization");
|
||||||
SEL _NSJSONSerializationSelector = NSSelectorFromString(@"dataWithJSONObject:options:error:");
|
SEL _NSJSONSerializationSelector = NSSelectorFromString(@"dataWithJSONObject:options:error:");
|
||||||
|
|
||||||
if (_JSONKitSelector && [data respondsToSelector:_JSONKitSelector]) {
|
if (_JSONKitSelector && [object respondsToSelector:_JSONKitSelector]) {
|
||||||
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[data methodSignatureForSelector:_JSONKitSelector]];
|
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[object methodSignatureForSelector:_JSONKitSelector]];
|
||||||
invocation.target = data;
|
invocation.target = object;
|
||||||
invocation.selector = _JSONKitSelector;
|
invocation.selector = _JSONKitSelector;
|
||||||
|
|
||||||
NSUInteger serializeOptionFlags = 0;
|
NSUInteger serializeOptionFlags = 0;
|
||||||
|
|
@ -43,21 +43,21 @@ static NSData * AFJSONEncode(id object, NSError **error) {
|
||||||
|
|
||||||
[invocation invoke];
|
[invocation invoke];
|
||||||
[invocation getReturnValue:&data];
|
[invocation getReturnValue:&data];
|
||||||
} else if (_SBJSONSelector && [data respondsToSelector:_SBJSONSelector]) {
|
} else if (_SBJSONSelector && [object respondsToSelector:_SBJSONSelector]) {
|
||||||
NSString *JSONString = nil;
|
NSString *JSONString = nil;
|
||||||
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[data methodSignatureForSelector:_SBJSONSelector]];
|
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[object methodSignatureForSelector:_SBJSONSelector]];
|
||||||
invocation.target = data;
|
invocation.target = object;
|
||||||
invocation.selector = _SBJSONSelector;
|
invocation.selector = _SBJSONSelector;
|
||||||
|
|
||||||
[invocation invoke];
|
[invocation invoke];
|
||||||
[invocation getReturnValue:&data];
|
[invocation getReturnValue:&data];
|
||||||
|
|
||||||
data = [JSONString dataUsingEncoding:NSUTF8StringEncoding];
|
data = [JSONString dataUsingEncoding:NSUTF8StringEncoding];
|
||||||
} else if (_YAJLSelector && [data respondsToSelector:_YAJLSelector]) {
|
} else if (_YAJLSelector && [object respondsToSelector:_YAJLSelector]) {
|
||||||
@try {
|
@try {
|
||||||
NSString *JSONString = nil;
|
NSString *JSONString = nil;
|
||||||
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[data methodSignatureForSelector:_YAJLSelector]];
|
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[object methodSignatureForSelector:_YAJLSelector]];
|
||||||
invocation.target = data;
|
invocation.target = object;
|
||||||
invocation.selector = _YAJLSelector;
|
invocation.selector = _YAJLSelector;
|
||||||
|
|
||||||
[invocation invoke];
|
[invocation invoke];
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue