問題:
是否有開源的Jq器for Go 可以將機器可讀的JSON 輸出轉換為人類可讀的
答案:
是的,Go 中的encoding/json 包提供了對格式化JSON 輸出的內建支援。
解決方案:
下面的程式碼示範如何使用json.MarshalIndent()建立縮排的JSON 輸出:
import ( "encoding/json" "fmt" ) func main() { m := map[string]interface{}{"id": "uuid1", "name": "John Smith"} data, err := json.MarshalIndent(m, "", " ") if err != nil { panic(err) } fmt.Println(string(data)) }
輸出:
{ "id": "uuid1", "name": "John Smith" }
如果您有現有的JSON 字串,則可以使用json.Indent() 進行格式化it:
import "encoding/json" func main() { src := `{"id":"uuid1","name":"John Smith"}` dst := &bytes.Buffer{} if err := json.Indent(dst, []byte(src), "", " "); err != nil { panic(err) } fmt.Println(dst.String()) }
輸出:
{ "id": "uuid1", "name": "John Smith" }
自訂:
您可以使用前綴自訂縮排和縮排函數的縮排參數。例如:
data, err := json.MarshalIndent(m, "+", "-") if err != nil { panic(err) }
輸出:
{ +--"id": "uuid1", +--"name": "John Smith" +}
以上是Go 的「encoding/json」套件是否提供了一種格式化 JSON 輸出以供人類可讀的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!