首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart中有字典的类型吗?

Dart中有字典的类型吗?
EN

Stack Overflow用户
提问于 2020-01-27 20:07:41
回答 1查看 779关注 0票数 2

我正在尝试从这个链接获取一个请求:https://cms.paladins.com/wp-json/wp/v2/champions?slug=dredge&lang_id=1并通过:https://javiercbk.github.io/json_to_dart/转换dart中的一个类

但问题是:该网站正在生成一些我无法理解的奇怪代码:

在检查铬时,我有:

代码语言:javascript
复制
api_information {
Ability1: "Cursed Howitzer"
Ability2: "Broadside"
Ability3: "Harpoon"
Ability4: "Shortcut"
Ability5: "Kraken"
AbilityId1: 23600
AbilityId2: 23611
AbilityId3: 23612
AbilityId4: 23622
AbilityId5: 23613
Ability_1: {,…}
Ability_2: {,…}
Ability_3: {,…}
Ability_4: {,…}
Ability_5: {,…}
....

但是当我翻译成Dart时:

代码语言:javascript
复制
class ApiInformation {
  String ability1;
  String ability2;
  String ability3;
  String ability4;
  String ability5;
  int abilityId1;
  int abilityId2;
  int abilityId3;
  int abilityId4;
  int abilityId5;
  Ability1 ability1;
  Ability1 ability2;
  Ability1 ability3;
  Ability1 ability4;
  Ability1 ability5;
....

我得到了int和字符串,但是为什么他要为每个字典创建一个新的类呢?Dart中有字典的类型吗?为什么他将ability_1重命名为ability1在Dart中有下划线的模式吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-27 20:22:03

在使用代码生成器时有一个限制:它们不知道json有效负载背后的意图,并且在面对复杂结构时无法做出正确的决策。

在其他owrds中,不要使用它们!

在Dart中,相当于字典的是Map。在您的示例中,可能类似于包含以下内容的Map<String, Ability>

代码语言:javascript
复制
class Ability {
  String description;
  int id;
  String summary;
  String uRL;
  String damageType;
  int rechargeSeconds;

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

https://stackoverflow.com/questions/59930864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档