Как я могу сопоставить JSON объекту, используя перечисления для имен свойств в Dart - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь отобразить данные 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
}

Кстати, я новичок и все еще пытаюсь понять JSON => сопоставления объектов, особенно в Dart.

1 Ответ

0 голосов
/ 09 апреля 2020

для разбора напрямую как в 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;
  }
}
...