解决方案 »

  1.   

    构建参考:/**
     * @brief 构建JSON字符串
     *
     * @param  data  数据内容
     *
     * @return JSON字符串
     */
    + (NSString *)createJSONString:(NSDictionary *)data
    {
        NSDictionary *parmDictionary=[NSDictionary dictionaryWithObjectsAndKeys:data,@"Root",nil];
        NSDictionary *jsonDictionary=[NSDictionary dictionaryWithObjectsAndKeys:parmDictionary,@"MiTRRoot",nil];
        
        SBJsonWriter *writer = [[SBJsonWriter alloc] init];
        
        NSString *jsonString=nil;
        jsonString=[writer stringWithObject:jsonDictionary];
        [writer release];
        
        return jsonString;
    }
    解析参考:NSString *returnString = [[NSString alloc] initWithData:package.content encoding:NSUTF8StringEncoding];
            NSDictionary *reutrnDict =(NSDictionary *)[returnString JSONValue];
            [returnString release];
            NSDictionary *jsonDict = (NSDictionary *)[((NSDictionary *)[reutrnDict objectForKey:@"MiTRRoot"]) objectForKey:@"Root"];
            NSArray *jsonArray = (NSArray *)[jsonDict objectForKey:@"R"];
            
            //判断是否登录成功
            if([@"1" isEqualToString:(NSString *)[jsonDict objectForKey:@"RetCode"]]){
                //登录成功
                
                for(int i = 0 ; i<jsonArray.count ; i++){
                    MoFundAccount *moFundAccount = [[MoFundAccount alloc] init];
                    
                    //登录回应包内容
                    NSDictionary *fundAccount = (NSDictionary *)[jsonArray objectAtIndex:i];
                    moFundAccount.iId = [[fundAccount objectForKey:@"ID"] integerValue];
                    moFundAccount.orderID = [[fundAccount objectForKey:@"OrderID"] integerValue];
                    moFundAccount.uid = [NSNumber numberWithInteger:[[fundAccount objectForKey:@"Uid"] integerValue]];
                    moFundAccount.mid = [NSNumber numberWithInteger:[[fundAccount objectForKey:@"Mid"] integerValue]];
                    moFundAccount.engrossMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"EngrossMargin"] description]];
                    moFundAccount.freezeMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"FreezeMargin"] description]];
                    moFundAccount.lockMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"LockMargin"] description]];
                    moFundAccount.remainMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"RemainMargin"] description]];
                    moFundAccount.etValue = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"MarketValue"] description]];
                    moFundAccount.preRemainMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"PreRemainMargin"] description]];
                    
                    [fundAccountArray addObject:moFundAccount];
                    [moFundAccount release];
                }
                
                return [fundAccountArray autorelease];
               
            }else{
                //请求失败
                
                return nil;
            }
      

  2.   

    楼上的已经给的很全了....恩 下载的json第三方库里面带的有一个demo.....可以运行起来看看
      

  3.   

    http://blog.sina.com.cn/s/blog_4cd8dd130101nrhb.html  楼主可以参阅这个~