【发布时间】:2018-05-24 19:23:15
【问题描述】:
我有多个 yaml 文件需要解析并且结构完全相同
schema: "1.0.0"
id: test
version: "1.2.3"
dependency :
- name: ui
type: runner
cwd: /ui
install:
- name: api
group: test
properties:
name: app
url: appUrl
- name: backend
type: mongoDb
path: be
install:
- name: db
type: mongo
provides:
- name: api
properties:
url: url
模式部分对于应用程序应该使用的所有 yaml 都是必需的 永远得到
依赖标签可以包含 1..n 个带有必填字段的条目 ,名称,类型, cwd
依赖标签可以(或不)包含
install部分和name和properties这是强制性的依赖标签可以(或不)包含
provides部分和name这是强制性的安装可以有属性,提供也可以有 属性
我正在使用yaml parser 来解析文件,但我的问题是如何在 Golang 中构建结构,当我解析文档时,它将自动填充主结构并包含子结构(例如依赖项/安装部分)
我尝试过类似的东西
type main struct {
schema struct {
schema string
id int
version string
}
dependency struct {
name string
type string
cwd string
install struct {
name string
}
}
在安装部分,它可以是组或类型或两者兼而有之,它也可以有属性部分,所以我不知道如何构建 我用来解析文档的一些通用/可扩展结构(文档具有关闭的属性列表,我在示例中描述的选项最多)
我使用这个库来解析文档
【问题讨论】: