Golangの[]byteからJSONへの変換と、JSONから[]byteへの変換
Go言語では、encoding/jsonパッケージを使用して、[]byteとJSON間の変換が可能です。
[]バイトをJSONに変換するには、json.Marshal() 関数を使用します。この関数は任意のタイプの値を引数として受け取り、JSON フォーマットの []バイトを返します。たとえば:
package main
import (
"encoding/json"
"fmt"
)
func main() {
data := []byte("Hello, World!")
jsonData, err := json.Marshal(data)
if err != nil {
fmt.Println("JSON encoding error:", err)
return
}
fmt.Println(string(jsonData))
}
質問の意味がわかりません
"SGVsbG8sIFdvcmxkIQ=="
JSON を []byte に変換するには、JSON 形式の []byte を受け取り、JSON を対応する Go 値にデコードする json.Unmarshal() 関数を使用できます。例:
package main
import (
"encoding/json"
"fmt"
)
func main() {
jsonData := []byte(`"SGVsbG8sIFdvcmxkIQ=="`)
var data []byte
err := json.Unmarshal(jsonData, &data)
if err != nil {
fmt.Println("JSON decoding error:", err)
return
}
fmt.Println(string(data))
}
結果を書き出します:
Hello, World!
json.Unmarshal()関数を用いる際には、ターゲット変数のポインタを渡す必要があることに注意してください。これにより、デコードされた値がターゲット変数に正しく代入されます。