安哥网络 发表于 2013-9-9 22:00:46

ios中json解析

以下是ios中三种不同解析方式:

jsonkit需要导入JSONKit.h、JSONKit.m文件,可在官网上下https://github.com/johnezang/JSONKit。
1、JSONKit解析方式: NSString *jsonString = @"[{\"age\":18,\"book\":{\"price\":23.2,\"title\":\"booooooook1\"},\"name\":\"samyou\"},{\"age\":22,\"book\":{\"price\":21,\"title\":\"booooooook2\"},\"name\":\"samsam\"}]";

    NSData *jsonData = ;
//    NSDictionary *resultDic = ;
    NSArray *resultDic = ;
    NSString *nstr = ;//json字符串
    NSLog(@"str : %@",nstr);
    NSLog(@"age= %@", );
    NSLog(@"book= %@", );
    NSArray *books = ;
    NSLog(@"book.price===%@",);2、SBJSON解析方式(通过plist文件进行读取):
https://github.com/stig/json-framework可下载。

data.plist文件内容:[{"auctionId":1000,"auctionName":"苹果"},{"auctionId":1001,"auctionName":"李子"}] //json解析
    NSString *filePath = [ pathForResource:@"data" ofType:@"plist"];
    //获取字典
    NSDictionary *dataDict = ;
    //获取json key值
    NSString *jsonData = ;
    if(jsonData == nil){
      NSLog(@"无数据!");
    }else{
      //得到jsoin数组
      NSArray *jsonArray = ;
      NSLog(@"jsonArray:%@",jsonArray);
      //通过key获取对应的值
      //写法一
      NSString *auctionId = ;
      NSLog(@"auctionId : %@",auctionId);
      //写法二
//      NSArray *auctionId = ;
//      for(int i=0;i<;i++){
//            NSLog(@"auction : %@",);
//      }
      //写法三(以下方法不行)
//      for(int i=0;i<;i++){
//            Auction *auction = ;
//            NSLog(@"Auction.auctionName : %@",auction.auctionName);
//      }

    }
    ;3、ios5自带API进行json解析,NSJSONSerialization类NSMutableDictionary *dictionary = [ init];
      ;
       forKey:@"Age"];
      NSArray *arrayChildren = [ initWithObjects:@"A", @"B",nil];
      ;
      NSError *error = nil;
      NSData *jsonData = ;
      NSLog(@"jsonData : %@",);
      if (error) {
            NSLog(@"dic->%@",error);
      }
      id jsonObject = ;
      if (nil != jsonObject) {
            if (]){
                NSDictionary *resultDic = (NSDictionary *)jsonObject;
                NSLog(@"Received JSON Dictionary : %@", resultDic);
            } else {
                NSLog(@"Error JSON data.");
            }
      }本文摘自:http://wenxin2009.iteye.com/blog/1671691



页: [1]
查看完整版本: ios中json解析