要在golang中解析HTML并將其轉換為JSON格式,可以使用Go的標準庫“html / template”和“encoding / json”。
首先,需要定義一個結構來存儲HTML數據,然后通過模板解析HTML模板。
type HTMLData struct { Title string Body []string } data := HTMLData { Title: "Sample HTML", Body: []string{"This is a paragraph.", "This is another paragraph."}, } templateStr := `{{.Title}} {{range .Body}}{{.}}
{{end}}` tmpl, err := template.New("test").Parse(templateStr) if err != nil { log.Fatalln("Error parsing template:", err) } var buf bytes.Buffer err = tmpl.Execute(&buf, data) if err != nil { log.Fatalln("Error executing template:", err) }
現在,我們已經成功解析了HTML模板并將其存儲在緩沖區中。接下來,需要使用“encoding / json”將其轉換為JSON字符串。
htmlData := map[string]interface{}{ "title": data.Title, "body": data.Body, } jsonData, err := json.Marshal(htmlData) if err != nil { log.Fatalln("Error converting to JSON:", err) } fmt.Println(string(jsonData))
最終輸出結果應該是這樣的:
{ "body": [ "This is a paragraph.", "This is another paragraph." ], "title": "Sample HTML" }
通過此方法,您可以方便地將HTML轉換為JSON格式,以便在客戶端應用程序中使用。