我开始将配置文件放在我的Android应用程序中,我发现了一个适用于android的snakeyaml版本(如果有更好的解析器,我对任何事情都开放)。该库返回它读取的配置对象的哈希映射。我仍然是配置文件的新手,所以我将发布我现在的内容。这可以工作,但它提供了4层深的Hashmap。这似乎完全错了。
---
Games:
Drag Race:
Avatar:
classic:
color:
- black
- blue
- green
- red
- yellow
fastback:
color:
- black
- blue
- olive
- red
- white
lux:
color:
- blue
- gunmetal
- orange
- violet
- white
old:
color:
- black
- blue
- purple
- red
- white
Race to Mars:
avatar:
ship:
- red
- blue
- yellow
我的最终目标是存储以下内容:
每个列表都取决于最后一个。我目前的做法似乎非常毛茸茸,可能存在问题。
答案 0 :(得分:1)
这是有限的数据,因此很难进行概括,但对我来说,似乎ship
,old
和classic
是头像的类型,因此您可以将其设为属性旁边的颜色:
Games:
Drag Race:
Avatar:
type: classic:
color:
- black
- blue
- green
- red
- yellow
type: fastback
color:
- black
- blue
- olive
- red
- white
type: lux
color:
- blue
- gunmetal
- orange
- violet
- white
type: old
color:
- black
- blue
- purple
- red
- white
Race to Mars:
avatar:
type ship:
color:
- red
- blue
- yellow
并失去一个深度。您还可以在每个头像上移动比赛类型:
Games:
- race: drag
type: classic:
color:
- black
- blue
- green
- red
- yellow
- race: drag
type: fastback
color:
- black
- blue
- olive
- red
- white
从而使化身隐藏在游戏中(当然,只有在游戏中没有其他东西但是化身时才能这样做。
以上是基于一般原则,即您可以使用树结构和vv中的对象的层次分组来交换对象的属性。