【发布时间】:2015-06-23 00:43:24
【问题描述】:
我正在尝试将 YAML 文件加载到 groovy 程序中,但未能成功。我想导入一个带有第一个、最后一个中间名键的地图,其值是具有相应种族值的名称。
这是我要运行的代码:
import java.util.List
import java.util.ArrayList
import java.io.FileInputStream
import java.io.InputStream
import org.yaml.snakeyaml.Yaml
import java.util.Map
import java.util.HashMap
class BestRandomController {
def index() {
String gender, firstName, lastName
List<String> firstNameList
List<String> lastNameList
Map<String, String> mapNames = new HashMap<String, String>()
Map<String, Map <String, String>> mapPeople = new HashMap<String,Map <String,String>>()
InputStream inputter = new FileInputStream(new File("/home/ian/Desktop/dataGeneration/vimNames.yaml"))
Yaml sneakySnake = new Yaml()
mapPeople=sneakySnake.load(inputter)
render mapPeople
render mapPeople.get('lastNames')
mapNames = mapPeople.get('lastNames')
“mapPeoople=sneakySnake.load(inputter)”行出现错误。
错误内容为:“'reader',第 2 行,第 10 列中不允许映射值:lastNames: ^”
我用于测试的 yaml 文件是这样的:
---#Names
lastNames:
Daghistani: White
Terry: White
Poksay: White
Williams: White
Wade: Black
我可以做些什么来完成这项工作?我想知道这是否是我的代码或 YAML 文件设置中的问题,尽管我的文件看起来很标准。
【问题讨论】:
标签: grails dictionary groovy yaml snakeyaml