标签: go
我从json.Marshal返回了一些字节。如果将它们记录到这样的stdout:
json.Marshal
log.Println(string(b))
它们输出如下:
{"encoded":"%2B"}
如果我用
fmt.Fprintf(w, string(b))
然后抓住他们写的文件:
{"encoded":"%!B(MISSING)"}
据我所知,string(b)的输出确实是第一个,也是我预期的输出。我究竟做错了什么?
string(b)
答案 0 :(得分:4)
Fprintf将格式定义作为第一个参数。 "%2B"被解释为格式化指令,您缺少以下参数。
"%2B"
也许您想使用Fprint?