• 处理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];

    }

      

  • 相关阅读:
    贪心算法过河问题 pojo1700
    大脑的合理使用
    给自己的忠言
    篮子水果模拟消费者生产者
    线程安全高效的单例模式
    Java提高篇——JVM加载class文件的原理机制
    递归的研究
    虚拟机分区方法
    使用spark dataSet 和rdd 解决 某个用户在某个地点待了多长时间
    获取数据集的好的方
  • 原文地址:https://www.cnblogs.com/yyt-hehe-yyt/p/4717211.html
Copyright © 2020-2023  润新知