Playlist Generator  1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Defines
NSObject+SBJson.m
Go to the documentation of this file.
00001 /*
00002  Copyright (C) 2009 Stig Brautaset. All rights reserved.
00003  
00004  Redistribution and use in source and binary forms, with or without
00005  modification, are permitted provided that the following conditions are met:
00006  
00007  * Redistributions of source code must retain the above copyright notice, this
00008    list of conditions and the following disclaimer.
00009  
00010  * Redistributions in binary form must reproduce the above copyright notice,
00011    this list of conditions and the following disclaimer in the documentation
00012    and/or other materials provided with the distribution.
00013  
00014  * Neither the name of the author nor the names of its contributors may be used
00015    to endorse or promote products derived from this software without specific
00016    prior written permission.
00017  
00018  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00019  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00020  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00021  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
00022  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00023  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00024  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00025  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00026  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00027  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00028  */
00029 
00030 #import "NSObject+SBJson.h"
00031 #import "SBJsonWriter.h"
00032 #import "SBJsonParser.h"
00033 
00034 @implementation NSObject (NSObject_SBJsonWriting)
00035 
00036 - (NSString *)JSONRepresentation {
00037     SBJsonWriter *writer = [[SBJsonWriter alloc] init];    
00038     NSString *json = [writer stringWithObject:self];
00039     if (!json)
00040         NSLog(@"-JSONRepresentation failed. Error is: %@", writer.error);
00041     return json;
00042 }
00043 
00044 @end
00045 
00046 
00047 
00048 @implementation NSString (NSString_SBJsonParsing)
00049 
00050 - (id)JSONValue {
00051     SBJsonParser *parser = [[SBJsonParser alloc] init];
00052     id repr = [parser objectWithString:self];
00053     if (!repr)
00054         NSLog(@"-JSONValue failed. Error is: %@", parser.error);
00055     return repr;
00056 }
00057 
00058 @end