編組json.RawMessage 返回Base64 編碼的字符串
問題:
編組時json.RawMessage值,為什麼輸出是base64編碼的字串而不是原始JSON?
背景:
下面的代碼演示了這個問題:
預期輸出:
{"foo":"bar"}
實際輸出:
"eyJmb28iOiJiYXIifQ=="
答案🎜> >
json.RawMessage 類型的MarshalJSON 方法只會傳回底層位元組切片。但是,要讓 json.RawMessage 正常運作,傳遞給 json.Marshal 的值必須是指標。解決方案:
要解決此問題,請更新程式碼如下:以上是為什麼編組 json.RawMessage 值會產生 Base64 編碼的字串而不是原始 JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!