json - 如何在Dart中使用枚举的属性名称将JSON映射到对象

标签 json flutter dart enums mapping

我正在尝试使用属性名称的枚举将JSON数据映射到对象。我目前从服务中收到格式为“my.property.test”的对象名称。我如何使用枚举将这些名称映射到我的对象名称?

{

   ‘my.propert1’: {
      'subprop1':'val',
      'subprop1':'val'
    },
   'my.propert2’: {
      'subprop1':'val',
      'subprop1':'val',
    }

}

我的枚举示例:
enum propertyNames { 
   my.propert1, 
   my.propert2
}

要映射到的对象:
class MyObject {
    Property propert1,
    Property propert2
}

Fyi,我是菜鸟,仍在尝试理解JSON =>对象映射,尤其是在Dart中。

最佳答案

直接像在Java中解析?不幸的是,没有,但是您可以创建一个像这样的函数来为您做这件事:

ENUM mapAnEnum(String name) {
  for (var item in ENUM.values) {
            //addin toLowerCase() to just be sure but feel free to remove it !  
    if (item.toString().toLowerCase() == name.toLowerCase()) return item;
  }
}

关于json - 如何在Dart中使用枚举的属性名称将JSON映射到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61111362/

相关文章:

dart - Dartweb Webstorm,502错误网关

dart - Flutter - 如何获得带有软边缘孔的半透明模糊层

javascript - 在for循环中计算JSON中两个值之间的百分比

php - 我的 sql 查询在 json 响应中返回 3 行相同的数据类型

c++ - 使用 JSON Spirit 进行 pretty-print

android - 带有 JSON 的异步 HTTP post 使用 Android 4 解析结果?

Flutter 不会加载新的列表生成器页面

flutter - 如何在 RaisedButton 的右侧添加图标?

Firebase 手机身份验证 flutter 崩溃

class - 如何获取有关 Dart 类(class)的信息?