# Create, Collect into Object This is used to construct objects (or maps). This can be used against existing yaml, or to create fresh yaml documents. ## Collect empty object Running ```bash yq --null-input '{}' ``` will output ```yaml {} ``` ## Wrap (prefix) existing object Given a sample.yml file of: ```yaml {name: Mike} ``` then ```bash yq '{"wrap": .}' sample.yml ``` will output ```yaml wrap: {name: Mike} ``` ## Using splat to create multiple objects Given a sample.yml file of: ```yaml {name: Mike, pets: [cat, dog]} ``` then ```bash yq '{.name: .pets.[]}' sample.yml ``` will output ```yaml Mike: cat Mike: dog ``` ## Working with multiple documents Given a sample.yml file of: ```yaml {name: Mike, pets: [cat, dog]} --- {name: Rosey, pets: [monkey, sheep]} ``` then ```bash yq '{.name: .pets.[]}' sample.yml ``` will output ```yaml Mike: cat Mike: dog --- Rosey: monkey Rosey: sheep ``` ## Creating yaml from scratch Running ```bash yq --null-input '{"wrap": "frog"}' ``` will output ```yaml wrap: frog ``` ## Creating yaml from scratch with multiple objects Running ```bash yq --null-input '(.a.b = "foo") | (.d.e = "bar")' ``` will output ```yaml a: b: foo d: e: bar ```