= nil {
logrus.WithFields(logrus.Fields{
"request": r,
}).Errorf("jsoniter.Marshal failure: %v...", err)
return nil, fmt.Errorf("jsoniter.Marshal failure: %v", err)
}
data := buffer.Bytes()
req...failed, error:%v", err)
return nil, fmt.Errorf("adapter jsoniter.Unmarshal failed, error:%v", err)...return res, nil
}
这个示例和之前差不多,只是不仅用来读取 http.Response.Body 还用来创建一个 jsoniter.NewEncoder 用来把请求压缩成 json 字符串...,并且作为 http.NewRequest 的 body 参数, 如果直接用 jsoniter.Marshal 同样会创建很多次内存,jsoniter 也使用 buffer 做为缓冲区,并且默认大小为