zoukankan      html  css  js  c++  java
  • 处理JSON格式的数据

      JSON格式的数据是最常用的数据格式,处理方法的选择就显得比较重要了。我常用的一种是用对象来接收,然后保存在数组中,需要时直接从数组中取值。下面列出一个小例子。

      1、在.h文件中:

    #import <Foundation/Foundation.h>

    @interface DailyWeathers : NSObject

    @property(nonatomic,strong) NSString *date;

    @property(nonatomic,strong) NSString *maxtempF;

    @property(nonatomic,strong) NSString *mintempF;

    @property(nonatomic,strong) NSURL *weatherIconUrl;

    +(id)weatherWithJSON:(NSDictionary*)json;

    @end

      2、在.m文件中:

    #import "DailyWeathers.h"

    @implementation DailyWeathers

    +(id)weatherWithJSON:(NSDictionary *)json{

        return [[self alloc] initWithJSON:json];

    }

    -(id)initWithJSON:(NSDictionary*)json{

        self = [super init];

        if (self) {

            self.date = json[@"date"];

            self.maxtempF = json[@"maxtempF"];

            self.mintempF = json[@"mintempF"];

            self.weatherIconUrl = [NSURL URLWithString:json[@"hourly"][3][@"weatherIconUrl"][0][@"value"]];

        }

        return self;

    }

    @end

      3、在网络请求数据的地方,直接调用下面的方法:

    -(NSArray*)dailyWeathersWithKeyFromJSON:(id)json{

        NSMutableArray *result = [NSMutableArray new];

        NSArray *weathers = json[@"data"][@"weather"];

        for (NSDictionary *weather in weathers) {

            DailyWeathers *dailyWeather = [DailyWeathers weatherWithJSON:weather];

            [result addObject:dailyWeather];

        }

        return [result copy];

    }

      

  • 相关阅读:
    oracle在没
    一天中时针和分钟重合的次数
    oracle的隐藏的东东
    左右小移动
    JS全选的操作
    JS定时器
    在文件中查找字符串
    表单原件
    div和span互换
    div和span的区别
  • 原文地址:https://www.cnblogs.com/yyt-hehe-yyt/p/4717211.html
Copyright © 2011-2022 走看看