好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > golang中json反序列化可能遇到的問題

golang中json反序列化可能遇到的問題

熱門標簽:黃岡人工智能電銷機器人哪個好 阿里云ai電話機器人 釘釘有地圖標注功能嗎 浙江高頻外呼系統多少錢一個月 鄭州亮點科技用的什么外呼系統 濱州自動電銷機器人排名 惠州電銷防封電話卡 汕頭小型外呼系統 建造者2地圖標注

前言

在golang中,當浮點數超過一定數值的時候,golang會把它弄成科學計數法的形式進行顯示(好像只要大于七位數就變成科學計數法了)

var val float64
val = 1000000
fmt.Println(val) // ==> 1e+06

而在日常開發中,我們經常遇到這樣一個問題,就是要反序列化前端傳遞來的json,因為數據結構未知,所以我們便會使用map[string]interface{}來接收反序列化的結果。由于golang將json解析到interface{}類型的時候,遵循如下規則

  • bool 代表 JSON booleans,
  • float64 代表 JSON numbers,
  • string 代表 JSON strings,
  • nil 代表 JSON null.

所以如果我們接收到的json中存在一個比較大的數字,那么它就會被解析成float64類型的,并且有可能顯示為科學計數法的形式,比如下面這個例子

package main
import (
 "encoding/json"
 "fmt"
)

func main() {
 //Create the Json string
 var data = `
 {
 "id": 12423434, 
 "Name": "Fernando"
 }
 `

 //Marshal the json to a map
 var result map[string]interface{}
 err := json.Unmarshal([]byte(data), result)
 if err != nil {
 fmt.Println(err.Error())
 return
 }
 fmt.Println(result)
}

輸出如下結果

map[id:1.2423434e+07 Name:Fernando]

這個時候如果把它傳遞給前端使用的話,那么前端是有可能會報錯的。所以我們最好還是保持這個數字的原始字符串表現形式。即使用json.Number類型來表示

所以換成如下代碼就可以了

package main
import (
 "encoding/json"
 "fmt"
 "strings"
)

func main() {
 //Create the Json string
 var data = `
 {
 "id": 12423434, 
 "Name": "Fernando"
 }
 `
 //Marshal the json to a map
 var result map[string]interface{}
 d := json.NewDecoder(strings.NewReader(data))
 d.UseNumber()
 err := d.Decode(result)
 if err != nil {
 fmt.Println(err.Error())
 return
 }
 // 此刻result["id"]的類型就是json.Number了 它的底層類型其實就是string
 fmt.Println(result)
}

輸出如下結果

map[id:12423434 Name:Fernando]

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • golang的序列化與反序列化的幾種方式

標簽:東營 泰安 瀘州 駐馬店 滄州 阿壩 昭通 晉中

巨人網絡通訊聲明:本文標題《golang中json反序列化可能遇到的問題》,本文關鍵詞  golang,中,json,反,序列化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang中json反序列化可能遇到的問題》相關的同類信息!
  • 本頁收集關于golang中json反序列化可能遇到的問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 男女啪啪动态图片| 国产无夜激无码AV毛片欧美| 特黄特色的大片观看免费视频| 扒开内裤打女人光屁股| 91麻豆精品国产自产在线观看亚洲| 暖暖 在线 日本 免费 中文| 双性尿奴穿贞c带憋尿的黄文| 快穿诱受肉多np| 欧美最新在线| 揉大乳gif动态图| 91国内精品久久久久精品一本| 三上悠亚电影在线播放| 国产精品视频人人做人人爽| 欧美嫩交| 强制乖趴好灌浓精h1v1| 高清乱码??免费网| 办公室play嗯啊高h| 乳色吐息1~2集无删减樱花| 国产一级α片| 亚洲五月综合缴情综合久久| 美女直播视频免费看网站| きみをペット波多野结衣| 久久理论片午夜琪琪电影网| www黄色网| 学长把我的小奶头揉硬了漫画| 攻被做爽了3p开火车| 最好看2018中文免费| 午夜光棍网| 免费观看黄色小视频| 国产???做受视频国语| 男人鸡鸡插女人| 极限挑战第九季高清免费观看| 麻豆乱码国产一区二区三区| 亚洲欧美偷国产日韩| 秀人网嫩模私拍福利在线观看| 国产一级e一级e毛片视频| 虎穴漫画| 久久久窝窝午夜精品| 五级黄18以上免费看网站 - 百度 成人国产AV精品 9 2 1 5免费山西 | 日本深夜福利19禁在线播放| 操黄蓉|