一、Json是什么?
青縣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!是一種輕量級(jí)的數(shù)據(jù)交換語言,用于數(shù)據(jù)交換。Json由于比XML更小、更快、更易解析,以及瀏覽器的內(nèi)建快速解析支持,使得其更實(shí)用于網(wǎng)絡(luò)數(shù)據(jù)交互。目前我們看到很多的開放平臺(tái),基本上都是采用了JSON作為他們的數(shù)據(jù)交互的接口。
go語言提供了內(nèi)置的encoding/json 標(biāo)準(zhǔn)庫,在github上提供了更快的json標(biāo)準(zhǔn)庫,github.com/pquerna/ffjson/ffjson
二、JSON數(shù)據(jù)的編碼和解碼
編碼函數(shù):
func Marshal(v interface{}) ([]byte,error)
解碼函數(shù):
func Unmarshal(data []byte, v interface{}) error
三、代碼實(shí)現(xiàn)Json編碼與解碼
package main
import (
"fmt"
"encoding/json"
)
type Student struct {
Name string `json:"student_name"`
Age int `json:"student_age"`
}
func main() {
//對(duì)數(shù)組類型的json編碼
x := [5]int{1, 2, 3, 4, 5}
s, err := json.Marshal(x)
if err != nil {
panic(err)
}
fmt.Println(string(s))
//對(duì)map類型進(jìn)行json編碼
//聲明一個(gè)map類型變量m
m := make(map[string]float64)
//給m變量賦值
m["zhangsan"] = 100.10
//對(duì)m變量進(jìn)行json編碼
s2, err2 := json.Marshal(m)
if err2 != nil {
panic(err2)
}
fmt.Println(string(s2))
//對(duì)對(duì)象類型進(jìn)行json編碼
student := Student{"zhangsan",13}
s3, err3 := json.Marshal(student)
if err3 != nil {
panic(err3)
}
fmt.Println(string(s3))
//對(duì)s3進(jìn)行解碼
var s4 interface{}
json.Unmarshal([]byte(s3), &s4)
fmt.Printf("%v", s4)
}
輸出結(jié)果
[1,2,3,4,5]
{"zhangsan":100.1}
{"student_name":"zhangsan","student_age":13}
map[student_name:zhangsan student_age:13]
四、什么是md5
MD5消息摘要算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個(gè)128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致。Md5值算法復(fù)雜,具有不可逆性,廣泛應(yīng)用于普通數(shù)據(jù)的錯(cuò)誤檢查領(lǐng)域。
Go語言內(nèi)置的crypto/md5 標(biāo)準(zhǔn)庫使用格式
Md5Inst := md5.New() Md5Inst.Write([]byte(“test md5”)) Result := Md5Inst.Sum([]byte("")) fmt.Printf("%x\n\n",Result)
五、代碼實(shí)現(xiàn)md5值加密
// json.go
package main
import (
"crypto/md5"
"fmt"
)
func main() {
Md5Inst := md5.New()
Md5Inst.Write([]byte("jack ma"))
Result := Md5Inst.Sum([]byte(""))
fmt.Printf("%x\n\n", Result)
}
輸出結(jié)果
a60779fd9cabc5458f86f5b7b2c02a6a
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。