Loading [MathJax]/jax/input/TeX/config.js
社区首页 >问答首页 >用于对象/字典的JSONModel

用于对象/字典的JSONModel
EN

Stack Overflow用户
提问于 2013-12-28 07:02:52
回答 1查看 2.6K关注 0票数 0

我一直在和JSONModel合作,这些教程很有意义。他们解析JSON包含一个具有多个索引的数组。

我想确保JSONModel被允许用于这个数据集: https://gist.github.com/ryancoughlin/8043604

tide不是数组对吗?但是还有tide.tideSummary --它包含了多天的潮汐数据。

AllTide.h

代码语言:javascript
代码运行次数:0
复制
#import "JSONModelLib.h"
#import "Tide.h"

@interface AllTide : JSONModel

@property (strong,nonatomic) NSDictionary<Tide> *tide;

@end

Tide.h

代码语言:javascript
代码运行次数:0
复制
#import "JSONModelLib.h"
#import "TideSummaryStats.h"

@protocol Tide @end

@interface Tide : JSONModel

@property (nonatomic, strong) NSArray<TideSummaryStats> *tideSummaryStats;

@end

TideSummaryStats.h

代码语言:javascript
代码运行次数:0
复制
#import "JSONModelLib.h"

@protocol TideSummaryStats @end

@interface TideSummaryStats : JSONModel

@property (nonatomic, strong) NSString *maxheight;
@property (nonatomic, strong) NSString *minheight;

@end

TideDetailViewController -显示单个位置(详细信息视图)与多个位置的列表

代码语言:javascript
代码运行次数:0
复制
@interface TideDetailViewController () {
    AllTide *_objTide;
}

@end

@implementation TideDetailViewController

- (void)viewDidAppear:(BOOL)animated {

    NSString *locationQueryURL = @"http://api.wunderground.com/api/xxxxx/tide/geolookup/q/43.5263,-70.4975.json";

    //fetch the feed
    _objTide = [[AllTide alloc] initFromURLWithString:locationQueryURL                                         completion:^(JSONModel *model, JSONModelError *err) {

                                             NSLog(@"Tides: %@", _objTide.tide);

                                         }];
}

我读过几个JSONModel教程,这是有道理的,我认为我的JSON格式与教程不同的地方有问题。同样,我的tide不返回数组。

这是利用JSONModel密钥映射器的一个很好的例子吗?

有什么想法吗?如果我还能提供什么,请告诉我。一直潜入水中寻求指导,但有点卡住了。提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2013-12-28 09:41:59

你不需要AllTide.h

试试这个:

TideDetailViewController -显示单个位置(详细信息视图)与多个位置的列表

代码语言:javascript
代码运行次数:0
复制
@interface TideDetailViewController () {
  NSArray *arrTide;
}

@end

@implementation TideDetailViewController

- (void)viewDidAppear:(BOOL)animated {

    NSString *locationQueryURL = @"http://api.wunderground.com/api/xxxxx/tide/geolookup/q/43.5263,-70.4975.json";

    //fetch the feed
    [JSONHTTPClient getJSONFromURLWithString: locationQueryURL
                              completion:^(NSDictionary *json, JSONModelError *err) {

    arrTide = [TideSummaryStats arrayOfModelsFromDictionaries:json[@"tide"][@"tideSummaryStats"]                                                ];

     NSLog(@"Tides: %@", arrTide[0]);

  }];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20815972

复制
相关文章
[iOS开发]JSONModel源码学习
首先,在这个模型类的对象被初始化的时候,遍历自身到所有的父类(直到JSONModel为止),获取所有的属性,并将其保存在一个字典里。获取传入字典的所有key,将这些key与保存的所有属性进行匹配。如果匹配成功,则进行kvc赋值。
Billy Miracle
2022/05/08
1.4K0
JSONModel源码解析 原
    做移动端开发,解析网络数据是必不可少的工作之一。iOS原生框架很早前就已经提供了将JSON数据直接映射成数组或者字典对象的方法,并且结合KVC,也可以将字典数据直接赋值给对象。但是这种方式十分不灵活,例如如果网络数据中的字段与我们数据模型中的字段不一致,某些网络数据的字段可能为nil等等都需要开发者单独的处理。使用JSOMModel可以十分方便的处理映射过程中的各种情况。
珲少
2018/08/15
1.3K0
JSONModel源码解析
                                                                            原
struct模块(用于对象的压缩)
6.27自我总结 struct模块 1.struct模块中的函数 函数 return explain pack(fmt,v1,v2…) string 按照给定的格式(fmt),把数据转换成字符串(字节流),并将该字符串返回. pack_into(fmt,buffer,offset,v1,v2…) None 按照给定的格式(fmt),将数据转换成字符串(字节流),并将字节流写入以offset开始的buffer中.(buffer为可写的缓冲区,可用array模块) unpack(fmt,v1,v2…..) tu
小小咸鱼YwY
2019/07/24
7520
DiffusionDet:用于对象检测的扩散模型
Shoufa Chen1, Peize Sun1, Yibing Song2, Ping Luo1 1The University of Hong Kong 2Tencent AI Lab {sfchen, pzsun, pluo}@cs.hku.hk yibingsong.cv@gmail.com
3D视觉工坊
2023/04/29
1.1K0
DiffusionDet:用于对象检测的扩散模型
python中更新字典对象
最近用python做了一个小工具,涉及到如下的字典操作,特做笔记如下: 1. 用update方法更新字典: 用字典的update方法,这时候传递给update的必须是一个字典.
qsjs
2020/06/09
1.4K0
Python使用对象方式获取字典的值
2020-07-23 发表在 编程语言 35 字典获取值方式: aa=dict() aa.get('aa') 如果想改成对象获取方式,可以用下列代码: # 定义一个类 class DictToObject(object): def __init__(self, d): self.__dict__.update(d) if __name__ == '__main__': d = {'id': 79, 'xc': 'B01AWLPUAG', 'crea
小贝壳
2020/07/26
4.2K0
JavaScript 学习-14.Map 字典对象
前言 JavaScript 中的对象(Object),实际上就是键值对的集合,但是有一个局限性,键(属性)只能是字符串,不能是数字等其他类型。 字典是一种很常见的数据类型,键值对的结构,键应该可以是数字,也可以是字符串。为了解决这个问题,ES6 提供了Map数据结构。 它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。 Map 字典对象 Map 构造一个字典对象 let m = new Map(); console.log(m); // Map(0) 初
上海-悠悠
2022/05/20
7040
JavaScript 学习-14.Map 字典对象
python源码阅读笔记之字典对象
四、字典对象 首先说下list对象等要点: 1.list获取,插入对象是很快的。删除对象根据args,线性查找。排序是快排。对privt的选取很有讲究。 字典是python里的关联对象,实现是hash table。在python的实现里,dictionary的效率极其高。如注释所言。 /* Major subtleties ahead: Most hash schemes depend on having a "good" hash function, in the sense of simulatin
哒呵呵
2018/08/06
6580
VBA调用外部对象01:字典Dictionary
当你发现不停的用For循环来处理数据速度慢的受不了了,你肯定会想怎么才能提高一些效率。比如前面我们说到的对比2个表数据,我们是使用For循环去逐个的对比判断,如果能有1个东西让我们可以快速的在一组数据里找到需要的、或者是找不到的时候返回false的话,那我们就不需要用For循环了,那有没有这种东西呢?
xyj
2020/07/28
3.3K0
VBA调用外部对象01:字典Dictionary
Spring用于创建对象的注解@Autowired @Qualifier @Resource
先通过数据类型IAccountDao圈定出来匹配的几个对象 再通过变量名称作为bean的id accountDao查找和他一样的 都不一样就报错
韦恩少爷的背
2020/03/09
1.2K0
[NewLife.XCode]对象字典缓存(百万军中取敌首级)
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netcore,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode。
大石头
2019/05/24
1.2K0
Python面向对象6:​isinstance、super、有序字典
1、isinstance(对象名,类),查看对象是不是类的实例。 案例1:isinstance(对象名,类) classFoo: print('hh') obj=Foo() ret=isinstance(obj,Foo) print('查看obj是不是类Foo的实例:',ret) 执行结果: 2、查看子类是否为父类的子类,issubclass(类1,类2),看类1是不是类2的子类 案例2:issubclass(类1,类2) classBar: pass classFoo(Bar): pass ret=iss
企鹅号小编
2018/01/29
6380
面向对象(三十一)-数组与字典详解
修改数组中某个元素的值 在这里第一个值,是你要设置的值,后面的几个值,是表示这个值在数组中的坐标
孙寅
2020/06/02
6400
Python笔记(七):字典、类、属性、对象实例、继承
(一)  简单说明    字典是Python的内置数据结构,将数据与键关联(例如:姓名:张三,姓名是键,张三就是数据)。例如:下面这个就是一个字典 {'姓名': '张三', '出生日期': '2899-08-12', '成绩': ['3.21', '3.10', '3.01']} 创建字典、添加数据、访问字典数据的方式如下: d = {}  #直接用{}创建字典 f = dict() #通过工厂函数dict()创建字典 #通过下面的方式添加数据 d['姓名'] = '张三' d['出生日期'] =
free赖权华
2018/04/27
1.2K0
Python笔记(七):字典、类、属性、对象实例、继承
多人聊天室
最近学完网络线程协议 ,因此写了一个用java编写的聊天室 话不多说 效果如图 首先 创建服务器端 package com.yc.server; import java.io.IOEx
汤高
2018/01/11
3K1
多人聊天室
Runtime应用(一):Json转Model
与后台交互,后台返回的数据一般是Json类型的,然而我们的定义的模型一般是继承自NSObject,Json与Model之间的转换,第三方工具也有很多,比如YYModel,JSONModel,MJExtention.
Helloted
2022/06/07
4720
Excel VBA解读(159): 数据结构—字典对象的基本操作
Add方法有两个参数。参数Key指定字典元素项的键值,参数Item指定字典元素项的值。如下面的代码:
fanjy
2019/08/27
2.2K0
Excel VBA解读(159): 数据结构—字典对象的基本操作
点击加载更多

相似问题

使用jsonmodel解析字典

25

JSONModel + copmlex对象

11

如何使用JSONModel获取NSArray对象

12

jsonmodel反序列化对象

33

JSONModel -使用同一JSONModel中的其他属性分配JSONModel属性的值

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文