首頁 >後端開發 >Golang >golang json亂碼解決方法

golang json亂碼解決方法

尚
原創
2019-12-13 13:54:095786瀏覽

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標準庫encoding/json是用來處理json資料的,它有兩組函數或方法來處理json資料。

golang json亂碼解決方法

編碼函數

編碼函數: func Marshal(v interface{}) ([]byte, error)

編碼規則:遞歸遍歷v,v中的一個值實現了Marshaler interface,調用MarshalJSON method去編碼,如果沒有這種方法,但是實現了encoding.TextMarshl那麼使用MarshalText去編碼。

解碼函數

解碼函數: func Unmarshal(data []byte, v interface{}) error

data 是一個JSON資料

v 是儲存解碼資料的指標

error 傳回的錯誤類型

以上是golang json亂碼解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn