From df380fa8fefbb04ac3f9c29198e5535364c67865 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Sat, 31 May 2025 19:15:41 +0700 Subject: cmd/deadlinks: print the result in JSON Using JSON as output can be parsed by other tools. --- cmd/deadlinks/main.go | 49 +++++++++++++++++++++++++++++++++---------------- deadlinks.go | 2 ++ 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/cmd/deadlinks/main.go b/cmd/deadlinks/main.go index 59c06b1..d018c9d 100644 --- a/cmd/deadlinks/main.go +++ b/cmd/deadlinks/main.go @@ -4,6 +4,7 @@ package main import ( + "encoding/json" "flag" "fmt" "log" @@ -43,15 +44,12 @@ func main() { log.Fatal(err.Error()) } - var page string - var listBroken []deadlinks.Broken - for page, listBroken = range result.PageLinks { - fmt.Printf("Page: %s\n", page) - for _, broken := range listBroken { - fmt.Printf("\tDead: %s (%d)\n", broken.Link, - broken.Code) - } + var resultJson []byte + resultJson, err = json.MarshalIndent(result.PageLinks, ``, ` `) + if err != nil { + log.Fatal(err.Error()) } + fmt.Printf("%s\n", resultJson) return } @@ -71,11 +69,11 @@ the image src attribute ("