Question #220

Author: admin
tags: Go  
package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	result, _ := json.Marshal("Hi!<br>")
	fmt.Println(string(result)) // ??
}
What will be printed?
"Hi!<br>"
"Hi!\<br\>"
"Hi!&lt;br&gt;"
"Hi!\u003cbr\u003e"
"Hi!"
json.Marshal() encodes string values as JSON strings coerced to valid UTF-8, replacing invalid bytes with the Unicode replacement rune. So that the JSON will be safe to embed inside HTML <script> tags, the string is encoded using HTMLEscape, which replaces "<", ">", "&", U+2028, and U+2029 are escaped to "\u003c","\u003e", "\u0026", "\u2028", and "\u2029".
This replacement can be disabled when using an Encoder, by calling SetEscapeHTML(false).
Rate the difficulty of the question:
easyhard