我正在尝试从这个链接获取一个请求:https://cms.paladins.com/wp-json/wp/v2/champions?slug=dredge&lang_id=1并通过:https://javiercbk.github.io/json_to_dart/转换dart中的一个类
但问题是:该网站正在生成一些我无法理解的奇怪代码:
在检查铬时,我有:
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时:
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中有下划线的模式吗?
发布于 2020-01-27 20:22:03
在使用代码生成器时有一个限制:它们不知道json有效负载背后的意图,并且在面对复杂结构时无法做出正确的决策。
在其他owrds中,不要使用它们!
在Dart中,相当于字典的是Map。在您的示例中,可能类似于包含以下内容的Map<String, Ability>:
class Ability {
String description;
int id;
String summary;
String uRL;
String damageType;
int rechargeSeconds;
...
}https://stackoverflow.com/questions/59930864
复制相似问题