diff --git a/formatter/formatter.go b/formatter/formatter.go index 52cd9d0d5..c3e84af7a 100644 --- a/formatter/formatter.go +++ b/formatter/formatter.go @@ -35,15 +35,11 @@ func Print(toJSON interface{}, format string, outWriter io.Writer, writerFn func case JSON: switch reflect.TypeOf(toJSON).Kind() { case reflect.Slice: - s := reflect.ValueOf(toJSON) - for i := 0; i < s.Len(); i++ { - obj := s.Index(i).Interface() - jsonLine, err := ToJSON(obj, "", "") - if err != nil { - return err - } - _, _ = fmt.Fprint(outWriter, jsonLine) + outJSON, err := ToJSON(toJSON, "", "") + if err != nil { + return err } + _, _ = fmt.Fprint(outWriter, outJSON) default: outJSON, err := ToStandardJSON(toJSON) if err != nil { diff --git a/formatter/formatter_test.go b/formatter/formatter_test.go index 6657a0152..7b86773fa 100644 --- a/formatter/formatter_test.go +++ b/formatter/formatter_test.go @@ -57,7 +57,6 @@ func TestPrint(t *testing.T) { _, _ = fmt.Fprintf(w, "%s\t%s\n", t.Name, t.Status) } }, "NAME", "STATUS")) - assert.Equal(t, b.String(), `{"Name":"myName1","Status":"myStatus1"} -{"Name":"myName2","Status":"myStatus2"} + assert.Equal(t, b.String(), `[{"Name":"myName1","Status":"myStatus1"},{"Name":"myName2","Status":"myStatus2"}] `) } diff --git a/tests/e2e/testdata/ls-out-json-windows.golden b/tests/e2e/testdata/ls-out-json-windows.golden index 676b70964..c16354247 100644 --- a/tests/e2e/testdata/ls-out-json-windows.golden +++ b/tests/e2e/testdata/ls-out-json-windows.golden @@ -1 +1 @@ -{"Current":true,"Description":"Current DOCKER_HOST based configuration","DockerEndpoint":"npipe:////./pipe/docker_engine","KubernetesEndpoint":"","Type":"moby","Name":"default","StackOrchestrator":"swarm"} +[{"Current":true,"Description":"Current DOCKER_HOST based configuration","DockerEndpoint":"npipe:////./pipe/docker_engine","KubernetesEndpoint":"","Type":"moby","Name":"default","StackOrchestrator":"swarm"}] diff --git a/tests/e2e/testdata/ls-out-json.golden b/tests/e2e/testdata/ls-out-json.golden index 34d53cb0a..828827532 100644 --- a/tests/e2e/testdata/ls-out-json.golden +++ b/tests/e2e/testdata/ls-out-json.golden @@ -1 +1 @@ -{"Current":true,"Description":"Current DOCKER_HOST based configuration","DockerEndpoint":"unix:///var/run/docker.sock","KubernetesEndpoint":"","Type":"moby","Name":"default","StackOrchestrator":"swarm"} +[{"Current":true,"Description":"Current DOCKER_HOST based configuration","DockerEndpoint":"unix:///var/run/docker.sock","KubernetesEndpoint":"","Type":"moby","Name":"default","StackOrchestrator":"swarm"}] diff --git a/tests/e2e/testdata/ps-out-example-json.golden b/tests/e2e/testdata/ps-out-example-json.golden index 2f7ddef9b..90711c02d 100644 --- a/tests/e2e/testdata/ps-out-example-json.golden +++ b/tests/e2e/testdata/ps-out-example-json.golden @@ -1,2 +1 @@ -{"ID":"id","Image":"nginx","Status":"","Command":"","Ports":[]} -{"ID":"1234","Image":"alpine","Status":"","Command":"","Ports":[]} +[{"ID":"id","Image":"nginx","Status":"","Command":"","Ports":[]},{"ID":"1234","Image":"alpine","Status":"","Command":"","Ports":[]}]