Skip to content

Loading JSON data into a YAML file #2549

@kknicker

Description

@kknicker

Loading JSON data into a YAML file doesn't appear to completely convert the data YAML.

env.yaml

env:
  - name: ONE
    value: 1
  - name: TWO
    value: 2

env.json

{
  "env": [
    {
      "name": "THREE",
      "value": "3"
    },
    {
      "name": "FOUR",
      "value": "4"
    }
  ]
}
yq '.env += (load("env.json") | .env)' env.yaml
env:
  - name: ONE
    value: 1
  - name: TWO
    value: 2
  - {"name": "THREE", "value": "3"}
  - {"name": "FOUR", "value": "4"}

Expected result

env:
  - name: ONE
    value: 1
  - name: TWO
    value: 2
  - name: THREE
    value: 1
  - name: FOUR
    value: 2

I assumed "load" converts the data to a format independent internal representation. But maybe there is a reason why it does not.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions