我正在尝试使用 Go 将一些 JSON 发布到服务器,其中我发送的 JSON 字符串中必须完整地存在与符号等特殊字符。http://play.golang.org/p/bPt9kl88-ypackage mainimport ( "fmt" "encoding/json")func main() { type TransactionStatement struct { Query string } statement := &TransactionStatement{ Query: "my query with this & that", } data, _ := json.Marshal(statement) fmt.Printf("> %v", string(data))}Go 的json.Marshal正在将某些字符(如“&”)转换为 unicode。哪个很棒:字符串值编码为强制为有效 UTF-8 的 JSON 字符串,用 Unicode 替换符文替换无效字节。尖括号“<”和“>”被转义为“\u003c”和“\u003e”,以防止某些浏览器将JSON输出误解为HTML。出于同样的原因,与号“&”也被转义为“\u0026”。块引用这听起来可能很荒谬,但我发送的 JSON 用于使用 RESTful 端点的数据库查询,其中此文字字符串将用于执行自由文本数据库查询 - 所以我不能使用 unicode,因为它是按字面解释的。那么有什么办法可以防止这种转换为 unicode 吗?或者我是否只需要在编组完成后撤消这些替换?
- 2 回答
- 0 关注
- 457 浏览
添加回答
举报
0/150
提交
取消