jsonarray叠代?func HandleUse(w http.ResponseWriter, r *http.Request) {
var u Use //此處的Use是一個結構體
data, err := ioutil.ReadAll(r.Body)//此處的r是http請求得到的json格式數據-->然後轉化為[]byte格式數據.
if err != nil {
w.WriteHeader(http.StatusBadRequest)
return
}
if err := json.Unmarshal(data, &u); err != nil { //經過這一步将json解碼賦值給結構體,由json轉化為結構體數據
w.WriteHeader(http.StatusInternalServerError)
return
}
w.WriteHeader(http.StatusOK)
fmt.Fprintf(w, "姓名:%s,年齡:%d", u.Name, u.Age)
}
,我來為大家科普一下關于jsonarray叠代?下面希望有你要的答案,我們一起來看看吧!
func HandleUse(w http.ResponseWriter, r *http.Request) {
var u Use //此處的Use是一個結構體
data, err := ioutil.ReadAll(r.Body)//此處的r是http請求得到的json格式數據-->然後轉化為[]byte格式數據.
if err != nil {
w.WriteHeader(http.StatusBadRequest)
return
}
if err := json.Unmarshal(data, &u); err != nil { //經過這一步将json解碼賦值給結構體,由json轉化為結構體數據
w.WriteHeader(http.StatusInternalServerError)
return
}
w.WriteHeader(http.StatusOK)
fmt.Fprintf(w, "姓名:%s,年齡:%d", u.Name, u.Age)
}
func HandleUse(w http.ResponseWriter, r *http.Request) {
var u Use
if err := json.NewDecoder(r.Body).Decode(&u); err != nil {
w.WriteHeader(http.StatusInternalServerError)
return
}
w.WriteHeader(http.StatusOK)
fmt.Fprintf(w, "姓名:%s,年齡:%d", u.Name, u.Age)
}
1、json.NewDecoder是從一個流裡面直接進行解碼,代碼精幹;2、json.Unmarshal是從已存在與内存中的json進行解碼;3、相對于解碼,json.NewEncoder進行大JSON的編碼比json.marshal性能高,因為内部使用pool。
三、場景應用:1、json.NewDecoder用于http連接與socket連接的讀取與寫入,或者文件讀取;2、json.Unmarshal用于直接是byte的輸入。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!