YAML教程
相关文章
更多最近更新
更多YAML标量和标签
2019-04-25 23:56|来源: 网路
YAML中的标量使用文字类型以块格式编写,表示为(|
)。 它表示换行计数。 在YAML中,标量以折叠样式(>
)书写,其中每一行表示折叠空间,其以空行或更多缩进行结束。
文字中保留的新行如下所示 -
ASCII Art --- | \\//||\\/|| // || ||__
折叠的换行符将保留为更多缩进的行和空白行,如下所示 -
> Sammy Sosa completed another fine season with great stats. 63 Home Runs 0.288 Batting Average What a year!
YAML流标量包括简单样式和引用样式。 双引号样式包括各种转义序列。 流量标量可以包括多条线; 换行符总是折叠在结构中。
plain: This unquoted scalar spans many lines. quoted: "So does this quoted scalar.\\n"
在YAML中,使用特定类型的应用程序指定未标记的节点。 标签规范的示例通常使用YAML标签存储库的seq
,map
和str
类型。 标签表示为示例,如下所述 -
整数标签
这些标记包含整数值,它们也称为数字标签。
canonical: 12345 decimal: +12,345 sexagecimal: 3:25:45 octal: 014 hexadecimal: 0xC
浮点数字
这些标记包括十进制和指数值。 它们也被称为指数标签。
canonical: 1.23015e+3 exponential: 12.3015e+02 sexagecimal: 20:30.15 fixed: 1,230.15 negative infinity: -.inf not a number: .NaN
其他杂项标签
它包含嵌入其中的各种整数,浮点和字符串值。 因此它被称为杂项标签。
null: ~ true: y false: n string: '12345'
相关问答
更多-
对Jackson的YAML序列化使用标量值的文字样式(Use literal style on scalar values for YAML serialization with Jackson)[2023-05-22]
如果您自己使用SNAKEYaml,则需要设置相应的转储器选项: DumperOptions dumperOptions = new DumperOptions(); dumperOptions.setDefaultScalarStyle(ScalarStyle.LITERAL); 可悲的是,这里无法通过JacksonFeature完成。 然而,快速浏览一下源显示要启用的功能是MINIMIZE_QUOTES ,您将在YAMLGenerator#writeString找到他们的算法。 所以这是全班: impo ... -
Perl YAML到JSON(Perl YAML to JSON)[2023-12-03]
YAML使您可以加载对象和标量引用。 JSON不会默认 我怀疑你的数据文件很可能包含一个内向外的对象,而JSON不知道如何处理标量引用。 以下演示如何加载包含标量引用的YAML哈希值,然后使用JSON对其进行编码失败: use strict; use warnings; use YAML; use JSON; # Load a YAML hash containing a scalar ref as a value. my ($hashref) = Load(<<'END_YAML'); --- bar ... -
在YAML中,解析器必须将带引号的标量解释为字符串吗?(In YAML, must a quoted scalar be interpreted by a parser as a string?)[2021-03-21]
YAML 1.1规范中的相关部分(请注意,SnakeYaml是YAML 1.1,因此1.2规范不一定适用): 并不要求在字符流中明确指定完整表示的所有标记。 在解析过程中,忽略标签的节点会被赋予一个非特定的标签:普通标量为“?”,所有其他节点为“!”。 [...] 建议具有“!”非特定标记的节点应解析为“tag:yaml.org,2002:seq”,“tag:yaml.org,2002:map”或“tag:yaml.org,2002 :str“取决于节点的种类。 这个约定允许YAML字符流的作者对标签解析过 ... -
require 'psych' # Construct an AST visitor = Psych::Visitors::YAMLTree.new({}) visitor << DATA.read ast = visitor.tree # Find all scalars and modify their formatting ast.grep(Psych::Nodes::Scalar).each do |node| node.plain = false node.quoted = true ...
-
我在模板下的官方文档中错过了这个: 当变量可以有多个值时(例如,多作者文档中的作者),您可以使用$for$关键字: $for(author)$ $endfor$ 您可以选择指定在连续项之间使用的分隔符: $for(author)$$author$$sep$, $endfor$ 所以在我的情况下,我会在模板中$for(tags)$$tags$$sep$, $endfor$做。 I had missed this in th ...
-
yaml / src / loader.dart上的dartium(chromium)错误(dartium (chromium) error on yaml/src/loader.dart)[2023-02-13]
?? 是Dart语法的一个非常新的扩展(null-aware operator)。 您可能使用不支持它的Dart版本。 Dart 1.12引入了空洞感知操作符。请参阅https://github.com/dart-lang/sdk/blob/master/CHANGELOG.md#1120您可以在命令行上使用dart --version检查当前的Dart版本。 使用这个新功能的软件包应该有一个SDK约束,将软件包版本限制为支持该功能的SDK版本。 ?? is a quite new extension (n ... -
您在StringReader上调用toString() ,它返回Object.toString()提供的神秘而无用的实现。 java.io.StringReader@329dbdbf即它不会告诉您是否有选项卡。 相反,您需要在将其传递给StringReader之前检查您使用的原始String ,并可能应用.replaceAll("\t", "\\t") You are calling toString() on your StringReader which returns the cryptic and ...
-
带标签的js-yaml问题(js-yaml issue with tags)[2022-05-05]
看一下js-yaml repo中的examples/custom_types.js 。 解决方案是创建一个新的jsyaml.Type ,它告诉js-yaml要处理!Status值作为映射,如下所示: let StatusYamlType = new jsyaml.Type('!Status', { kind: 'mapping' }); 然后,您需要创建一个包含StatusYamlType类型的新Schema: let STATUS_SCHEMA = jsyaml.Schema.create([ Stat ... -
使用javascript加载yaml文件并获取yaml文件中的数据(Load yaml file using javascript and get the data in the yaml file)[2022-11-19]
将$ .get()数据类型参数设置为text。 jsyaml需要加载yml类型的文本数据。 Set the $.get() datatype parameter to be text. jsyaml needs yml type text data to load. -
要获取节点的类型,请调用YAML::Node::Type() 。 返回值是以下之一: YAML::NodeType::Undefined YAML::NodeType::Null YAML::NodeType::Scalar YAML::NodeType::Sequence YAML::NodeType::Map yaml-cpp没有做更具体的自动标签检测,例如,它不会验证!!int vs. !!float 。 To get the type of a node, call YAML::Node::Typ ...