mirror of
https://github.com/mikefarah/yq.git
synced 2024-11-12 13:48:06 +00:00
Set tags on maps,arrays when decoding json #1422
This commit is contained in:
parent
cb609a1886
commit
fd35530f35
@ -60,7 +60,7 @@ func (dec *jsonDecoder) convertToYamlNode(data *orderedMap) (*yaml.Node, error)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var yamlMap = &yaml.Node{Kind: yaml.MappingNode}
|
var yamlMap = &yaml.Node{Kind: yaml.MappingNode, Tag: "!!map"}
|
||||||
for _, keyValuePair := range data.kv {
|
for _, keyValuePair := range data.kv {
|
||||||
yamlValue, err := dec.convertToYamlNode(&keyValuePair.V)
|
yamlValue, err := dec.convertToYamlNode(&keyValuePair.V)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -74,7 +74,7 @@ func (dec *jsonDecoder) convertToYamlNode(data *orderedMap) (*yaml.Node, error)
|
|||||||
|
|
||||||
func (dec *jsonDecoder) parseArray(dataArray []*orderedMap) (*yaml.Node, error) {
|
func (dec *jsonDecoder) parseArray(dataArray []*orderedMap) (*yaml.Node, error) {
|
||||||
|
|
||||||
var yamlMap = &yaml.Node{Kind: yaml.SequenceNode}
|
var yamlMap = &yaml.Node{Kind: yaml.SequenceNode, Tag: "!!seq"}
|
||||||
|
|
||||||
for _, value := range dataArray {
|
for _, value := range dataArray {
|
||||||
yamlValue, err := dec.convertToYamlNode(value)
|
yamlValue, err := dec.convertToYamlNode(value)
|
||||||
|
@ -78,6 +78,14 @@ const roundTripMultiLineJson = `{
|
|||||||
`
|
`
|
||||||
|
|
||||||
var jsonScenarios = []formatScenario{
|
var jsonScenarios = []formatScenario{
|
||||||
|
{
|
||||||
|
description: "set tags",
|
||||||
|
skipDoc: true,
|
||||||
|
input: "[{}]",
|
||||||
|
expression: `[.. | type]`,
|
||||||
|
scenarioType: "roundtrip-ndjson",
|
||||||
|
expected: "[\"!!seq\",\"!!map\"]\n",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
description: "Parse json: simple",
|
description: "Parse json: simple",
|
||||||
subdescription: "JSON is a subset of yaml, so all you need to do is prettify the output",
|
subdescription: "JSON is a subset of yaml, so all you need to do is prettify the output",
|
||||||
|
Loading…
Reference in New Issue
Block a user