当前位置:编程学习 > wap >>

iOS json数组解析

最近开始搞ios开发,需要解析json文件,而且还是数组,用ios自带的NSJSONSerialization解析了第一层,发现再往下解析是,已经不行了,经过调试发现,解析一次后,ios自动把json文件的“:”换成了“=”,还加了一些“\n”,还有空格,经过努力都改正之后都不行,实在没办法了自己就硬着头皮解决了一下,希望给大家分享一下。
NSMutableString *strFile=[[NSMutableString alloc] initWithContentsOfFile:FILE_PATH encoding:NSUTF8StringEncoding error:nil];
    NSMutableArray *arrayJson=[NSMutableArray arrayWithCapacity:42];
    NSRange leftRange;
    NSRange rightRange;
    leftRange=[strFile rangeOfString:@"["];
    leftRange.length=leftRange.location+1;
    leftRange.location=0;
    [strFile deleteCharactersInRange:leftRange];
    rightRange=[strFile rangeOfString:@"]"];
    rightRange.length=[strFile length]-rightRange.location;
    [strFile deleteCharactersInRange:rightRange];
   // NSLog(@"%@",strFile);
    while(1)
    {
        NSString *tempString;
        NSDictionary *tempDictionary;
        rightRange=[strFile rangeOfString:@"}"];
        tempString=[strFile substringWithRange:NSMakeRange(0, rightRange.location+1)];
        NSData *tempData=[tempString dataUsingEncoding:NSUTF8StringEncoding];
        tempDictionary=[NSJSONSerialization JSONObjectWithData:tempData options:kNilOptions error:nil];
        [arrayJson addObject:tempDictionary];
        if([tempString isEqualToString:strFile])
            break;
        [strFile deleteCharactersInRange:NSMakeRange(0, rightRange.location+2)];
        
    }
--------------------编程问答-------------------- 分享快乐,学习学习. --------------------编程问答-------------------- 不是有专门的库的么……干啥这么累自己搞…… --------------------编程问答-------------------- 分享是伟大的 --------------------编程问答-------------------- --------------------编程问答-------------------- 各种库,sbjson,jsontouch,jsonkit,系统库等等 --------------------编程问答-------------------- J8毛,原生态的和第三方类库的一样好用!亲测,只有不会用,没有不好用 --------------------编程问答-------------------- 解析过n层的,用NSJSONSerialization和JSONKIT都没有遇到过问题。楼主把json贴出来我试试看 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- sbjson 挺方便 --------------------编程问答-------------------- NSJSONSerialization好使 --------------------编程问答-------------------- 分享快乐!学习中。。。 --------------------编程问答-------------------- json c++够用了 --------------------编程问答-------------------- JasonKit效率很高~
补充:移动开发 ,  iPhone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,