相关疑难解决方法(0)

覆盖YAML子项

说我有以下YAML文件:

-
   key1: value
# and so on...
   key99: value
   key100:
      subkey1: value
# and so on...
      subkey100: value
-
   key1: value
# and so on...
   key99: value
   key100:
      subkey1: value
# and so on...
      subkey100: SOME DIFFERENT VALUE
Run Code Online (Sandbox Code Playgroud)

处理大量相同数据的自然方式是使用锚点,并覆盖更改的键.

问题是,这里的子项不同.有没有一种简单的方法来引用key100['subkey100']改变了?或者我必须在每个级别使用一系列锚点?

即,是否有简写:

- &anchor
   key1: value
# and so on...
   key99: value
   key100: &subanchor
      subkey1: value
# and so on...
      subkey100: value
-
   <<: *anchor
   key100:
      <<: *subanchor
      subkey100: SOME DIFFERENT VALUE
Run Code Online (Sandbox Code Playgroud)

yaml

14
推荐指数
1
解决办法
5932
查看次数

如何使用文字标量样式在YAML中转储字符串?

我有我想要使用红宝石精极度紧张转储到YAML格式的数据(例如JSON)的大串,同时保留格式.

基本上,我希望JSON使用文字样式出现在YAML中:

---
json: |
  {
    "page": 1,
    "results": [
      "item", "another"
    ],
    "total_pages": 0
  }
Run Code Online (Sandbox Code Playgroud)

但是,当我使用YAML.dump它时不使用文字样式.我得到这样的东西:

---
json: ! "{\n  \"page\": 1,\n  \"results\": [\n    \"item\", \"another\"\n  ],\n  \"total_pages\":
  0\n}\n"
Run Code Online (Sandbox Code Playgroud)

我怎么能告诉Psych将scalars转换为想要的风格?


解:

非常感谢Aaron Patterson提出的我正在扩展的解决方案:https://gist.github.com/2023978

虽然有点冗长,但这个要点是一种标记ruby中某些字符串的工作方式,使用YAML中的文字样式输出.

ruby string yaml psych

5
推荐指数
1
解决办法
2537
查看次数

3
推荐指数
1
解决办法
1916
查看次数

标签 统计

yaml ×3

psych ×2

ruby ×2

emit ×1

parsing ×1

string ×1