2011-01-09 76 views
6

我正在使用Play!框架和我有一个模型(一个实体)有一个变量类型地图。如何在Play中定义YAML文件中的地图!框架?

为了进行一些测试,我每次启动应用程序时都加载一个YAML文件,但我不知道定义Map的语法。

比方说,我有这个类

public class aClass { 
    public int arg1; 
    public String arg2; 
    public Map<String, Integer> arg3; 
} 

将我的YAML文件是什么样的?我试过这个:

aClass(object1) 
    arg1: 34 
    arg2: aString 
    arg3: [key1: value1, key2: value2] <- What do I do here? 

这是我的许多尝试之一。我不知道语法,我无法在Internet上找到它。我认为玩!使用SnakeYAML作为YAML解析器。

在文档中,我找到了一些例子,但没有一个会起作用。

在我的应用程序中,除了Map变量(示例中为arg3)的大小为0元素之外,其他所有工作都是有效的。

谢谢。

+0

根据SnakeYAML文档和Play文档,正确的表示法是使用问号。但是,我试图用这种方式运行你的代码,虽然它编译了,但它没有条目!我会继续挖掘。 – Codemwnci 2011-01-09 20:56:35

+0

当您使用问号时它会起作用吗? – 2011-01-10 01:35:42

回答

6

根据Google Groups上的该线程,看起来您需要的语法是使用问号。

该线程具有以下语法的工作映射。

Bloc(b2): 
    labelSeries: testDeValeur 
    criterias: 
    ? key1 
    : value1 
    ? key2 
    : value2 

所以,我想你的例子是

aClass(object1) 
    arg1: 34 
    arg2: aString 
    arg3: 
    ? key1 
    : value1 
    ? key2 
    : value2 

但是我已经测试过这一点,这是行不通的!我会建议提出一个错误来看看这个问题,因为所有文档都指出这是正确的。

相关问题