У меня есть JSON данные, как показано нижединамические идентификаторы и специальные символы для сериализации с плоскими буферами
{
"!type": "alarm",
"$": {
"12279": {
"!type": "alarm",
"title": "Default",
"$": {
"5955": {
"!type": "alarm",
"name": "Wake",
"day": "SUN",
"startTime": "06:00"
},
"29323": {
"!type": "alarm",
"name": "Away",
"day": "SUN",
"startTime": "08:00"
},
"2238": {
"!type": "alarm",
"name": "Home",
"day": "SUN",
"startTime": "18:00"
}
}
}
}
}
Мой FBS выглядит следующим образом
namespace space.alarm;
table Atom{
!type:string;
name:string;
startDay:string;
startTime:string; }
table AtomShell{
key:string (required, key);
value: Atom; }
table Alarm{
!type:string;
title:string;
$:[AtomShell]; }
table AlarmShell{
key:string (required, key);
value:Alarm; }
table Weeklyalarm{
!type:string;
$:[AlarmShell]; } root_type Weeklyalarm;
Im пытается реализовать Google плоские буферы, но я получаю ошибки, такие как
- alarm.fbs: 4: 0: ошибка: незаконный характер:!
- alarm.fbs: 23: 0: ошибка: незаконный символ: $ (я удалил! Из ! Type и изменил $ на доллар, чтобы проверить работу плоских буферов , но я не могу изменить динамические идентификаторы)
- Sample.json: 25: 0: ошибка: неизвестно поле: 12279
Теперь мой вопрос,
- можно ли использовать динамические идентификаторы в плоских буферами, если это возможно, как должен я продолжаю?
- Может использовать специальные символы в идентификаторах, если возможно, как это сделать?
Заранее спасибо.