0
こんにちは私はエンコード/ jsonの上golangで働いていますを追加し、それがヌルでJSONのエラーを返す:Golangエンコーディング/ JSONマーシャルはヌル
{"user_message":"Can't find any Query with those parameters","application_context":"GroupsRepository.GetGroupsByQuery: ApplicationError: UserMessage - Error querying database for many Groups. ApplicationContext - Groups.GetMany: pq: column \"refill_too_soon_gpi_digits\" does not exist"} null
、それがあることを私マーシャル方法:
func EncodeErrorResponse(w http.ResponseWriter, err error, status int) {
w.WriteHeader(http.StatusOK)
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(err)
}
を
誰かが私を助けてくれましたか。
引用したJSON出力を見ると、エラーが正しくエンコードされているように見えますが、別の書き込み操作を示すJSONの後に「null」が出力されています。他のコード(おそらくこの関数の呼び出し側)がこの出力を書き込んでいる可能性はありますか?また、ステータスコードを取得しても使用しないことに注意してください。常にStatusOKを使用します。 'Encode'によって返されたエラーを無視していることを示します。 – Adrian
関数は別の関数で使用しますが、エンコードの戻り値がnullであるというエラーはエンコード/ jsonに問題があるかどうかわかりません。 – llCastro
/jsonのエンコーディングに問題はありません。 'EncodeErrorResponse'を呼び出すと、それを呼び出す関数は' ResponseWriter'に追加の出力を書き込みます。 – Adrian