使用SBJSON解析NSString

时间:2014-06-15 09:17:35

标签: ios objective-c sbjson

快速提问:

如何使用SBJSON4解析NSString 该字符串是来自Web REST api的UTF-8编码的JSON字符串。 我需要一个带有解析数据的NSDIctionary。该字符串保证是一个完整的JSON文档。

   @interface NSOperationParseJSON ()

@property (weak, nonatomic) id<JSONParseDelegate> delegate;
@property (strong, nonatomic) NSString *stringToParse;
@property (strong, nonatomic) SBJson4Parser *jsonParser;

@end

@implementation NSOperationParseJSON

- (instancetype)initWithJSONString:(NSString *)jsonString andDelegate:(id<JSONParseDelegate>)delegate
{
    self = [super init];
    if (self) {
        _delegate = delegate;
        _stringToParse = jsonString;
        _jsonParser = [[SBJson4Parser alloc] init];
    }
    return self;
}

#pragma mark - OVERRIDEN 

- (void)main
{
    @autoreleasepool {
        if (self.isCancelled) {
            return;
        }

        SBJson4ParserStatus responseCode = [self.jsonParser parse:[self.stringToParse dataUsingEncoding:NSUTF8StringEncoding]];

        if (responseCode == SBJson4ParserComplete) {

        } else if (SBJson4ParserError) {

        }

    }
}

我在哪里得到答复?

1 个答案:

答案 0 :(得分:0)

您需要阅读文档。版本4的界面与以前的版本完全不同。虽然它支持NSJSONSerialisation没有的一些工作模式,例如使用不完整的JSON流,但它不支持非标准JSON(除非我错过了一个错误)。

如果你还想探索它,可以举两个例子:

https://github.com/stig/ChunkedDeliveryhttps://github.com/stig/DisplayPretty