LoginSignup
0
0

More than 5 years have passed since last update.

小ネタ: JSONからYAMLにRubyワンライナーで変換する

Posted at

解決したい課題

JSONをカジュアルにYAMLに変換したい。
具体的には、Chef付属の情報収集ツールohaiを実行したときに出力されるJSONを、YAMLに変換します。

実装例

特になんの説明もなく。
以下が…

$ ohai
{
  "cpu": {
    "0": {
      "vendor_id": "GenuineIntel",
      "family": "6",
      "model": "61",
      "model_name": "Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz",
      "stepping": "4",
      "mhz": "1599.999",
      "cache_size": "3072 KB",
      "physical_id": "0",
      "core_id": "0",
      "cores": "1",
      "flags": [
        "fpu",
        "vme",
        "de",
        "pse",
(以下略)

こうすることで…

$ ohai | /opt/chef/embedded/bin/ruby -ryaml -rjson -e 'puts YAML.dump(JSON.parse(STDIN.read))'

こうなります。

$ ohai | /opt/chef/embedded/bin/ruby -ryaml -rjson -e 'puts YAML.dump(JSON.parse(STDIN.read))'
---
cpu:
  '0':
    vendor_id: GenuineIntel
    family: '6'
    model: '61'
    model_name: Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz
    stepping: '4'
    mhz: '1599.999'
    cache_size: 3072 KB
    physical_id: '0'
    core_id: '0'
    cores: '1'
    flags:
    - fpu
    - vme
    - de
    - pse
(以下略)

補足

小ネタでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0