ホームページ  >  記事  >  バックエンド開発  >  Golang json が文字化けする解決策

Golang json が文字化けする解決策

尚
オリジナル
2019-12-13 13:54:095747ブラウズ

Golang json が文字化けする解決策

Golang の json 文字化けコードは、golang プログラムの「encoding/json」パッケージを使用して json オブジェクトをエンコードおよびデコードすることで解決できます。

推奨: golang チュートリアル

golang は json オブジェクトをエンコードおよびデコードします例:

package main
import (
    "fmt"
    "encoding/json"
)
func main() {
    // json encode
    j1 := make(map[string]interface{})
    j1["name"] = "PHP中文网"
    j1["url"] = "https://www.php.cn/"
    js1, err := json.Marshal(j1)
    if err != nil {
        panic(err)
    }
    println(string(js1))
    // json decode
    j2 := make(map[string]interface{})
    err = json.Unmarshal(js1, &j2)
    if err != nil {
        panic(err)
    }
    fmt.Printf("%#v\n", j2)
}

golang 標準ライブラリのエンコード/json を使用して処理しますjson データには、json データを処理するための 2 つの関数またはメソッドのセットがあります。

Golang json が文字化けする解決策

エンコーディング関数

エンコーディング関数: func Marshal(v Interface{}) ([]byte, error)

エンコーディング ルール: v の値を再帰的に走査します。v の値は Marshaler インターフェイスを実装し、MarshalJSON メソッドを呼び出してエンコードします。そのようなメソッドがないが、encoding.TextMarshl が実装されている場合は、MarshalText を使用してエンコードします。

デコード関数

デコード関数: func Unmarshal(data []byte, v Interface{}) error

data は JSON データです

v はデコードされたデータを格納するポインター

error エラー タイプが返されました

以上がGolang json が文字化けする解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。