如何解析iPhone Objective-C中的JSON字符串? [英] how to parse a JSON string in iphone Objective - C?

查看:258
本文介绍了如何解析iPhone Objective-C中的JSON字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试解析iphone中的JSON字符串,到目前为止,我已经能够正确获取JSON值

Hi i am trying to parse a JSON string in iphone and so far i have been able to get JSON VALUE correctly

但是在那之后我得到了一个错误:

but after that i am geting an error:

-[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x62242e0
2011-08-16 16:11:58.792 BleepBleep[4083:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x62242e0'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x010a9be9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x011fe5c2 objc_exception_throw + 47
    2   CoreFoundation                      0x010ab6fb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    3   CoreFoundation                      0x0101b366 ___forwarding___ + 966
    4   CoreFoundation                      0x0101af22 _CF_forwarding_prep_0 + 50
    5   BleepBleep                          0x0000733f -[Screen1 network:didFinishLoadingWithRequest:data:] + 79
    6   BleepBleep                          0x0000b7e4 -[WNetwork handleResponse] + 323
    7   BleepBleep                          0x0000b69b -[WNetwork connectionDidFinishLoading:] + 36
    8   Foundation                          0x00077172 -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] + 108
    9   Foundation                          0x000770cb _NSURLConnectionDidFinishLoading + 133
    10  CFNetwork                           0x01674606 _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 220
    11  CFNetwork                           0x0173f821 _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 293
    12  CFNetwork                           0x0166ae3c _ZN19URLConnectionClient13processEventsEv + 100
    13  CFNetwork                           0x0166acb7 _ZN17MultiplexerSource7performEv + 251
    14  CoreFoundation                      0x0108b01f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
    15  CoreFoundation                      0x00fe928b __CFRunLoopDoSources0 + 571
    16  CoreFoundation                      0x00fe8786 __CFRunLoopRun + 470
    17  CoreFoundation                      0x00fe8240 CFRunLoopRunSpecific + 208
    18  CoreFoundation                      0x00fe8161 CFRunLoopRunInMode + 97
    19  GraphicsServices                    0x019de268 GSEventRunModal + 217
    20  GraphicsServices                    0x019de32d GSEventRun + 115
    21  UIKit                               0x002e442e UIApplicationMain + 1160
    22  BleepBleep                          0x00002018 main + 102
    23  BleepBleep                          0x00001fa9 start + 53
)
terminate called after throwing an instance of 'NSException'

这里是我在didFinishLoadingWithRequest中使用的代码

Heres the code i am using in didFinishLoadingWithRequest

-(void)network:(WNetwork*)network didFinishLoadingWithRequest:(NSInteger)pReq data:(NSMutableDictionary*)pData
{
    [self removeLoader];

    switch (pReq) {
        case JBJsonParser:
        {
            NSArray *parsedString = [pData objectForKey:@"placesname"];
            DLog(@"LIST %@",parsedString);
        }
    break;      
        default:
            break;
}

}

在网络课程中,我正在使用dis代码:

in the network class i am using dis code:

{
    SBJSON *parser = [SBJSON new];      
    NSString *dataString = [[NSString alloc] initWithData:mRespData encoding:NSUTF8StringEncoding];


    NSMutableDictionary *newDic = [dataString JSONValue];

    if ([(id)mDelegate respondsToSelector:@selector(network:didFinishLoadingWithRequest:data:)]) {
        [self.mDelegate network:self didFinishLoadingWithRequest:mReqType data:newDic];
    }
    [newDic autorelease];

    [dataString release];
    [parser release];
}

推荐答案

这里有一些很好的例子: http://iosdevelopertips.com/cocoa/json-framework- for-iphone-part-2.html

There are some good examples here: http://iosdevelopertips.com/cocoa/json-framework-for-iphone-part-2.html

这篇关于如何解析iPhone Objective-C中的JSON字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆