婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > golang:json 反序列化的[]和nil操作

golang:json 反序列化的[]和nil操作

熱門標簽:地圖標注免費定制店 湛江crm外呼系統排名 仙桃400電話辦理 寧波語音外呼系統公司 宿遷便宜外呼系統代理商 重慶慶云企業400電話到哪申請 上海極信防封電銷卡價格 不封卡外呼系統 鄭州智能語音電銷機器人價格

我就廢話不多說了,大家還是直接看代碼吧~

package main
import (
	"encoding/json"
	"log"
)
type JS struct {
	A []string
}
func main() {
	v1 := JS{}
	v2 := JS{A: []string{}}
	o1, err := json.Marshal(v1)
	log.Println(string(o1), err)
	o2, err2 := json.Marshal(v2)
	log.Println(string(o2), err2)
}

結果

2019/01/07 18:13:26 {"A":null} nil>

2019/01/07 18:13:26 {"A":[]} nil>

補充:go語言中 json轉換--nil

go語言中如果一個變量的值為nil,是否能否為json?

如果能否轉換,轉換后的結果是什么?

下面直接看下例子。

package main
import (
    "encoding/json"
    "fmt"
)
func main() {
    marshalTest()
}
func marshalTest() {
  b, err := json.Marshal(nil)
  if err != nil {
    fmt.Println("json.Marshal failed:", err)
    return
  }
  fmt.Println("result:", string(b))
}

output:

result: null

結果輸出為"null"。

也就是說,凡是值為nil的變量,經過json編碼后都是"null"。例如,未賦值的指針變量、切片slice等:

var ptr *int

var s []int

反過來,如果一個json字符串是"null",經過解析后,轉換后的值是什么樣呢?

例如,轉換為結構體,轉換后為結構體變量的默認值。

package main
import (
    "encoding/json"
    "fmt"
)
func main() {
    unmarshalTest()
}
type Apple struct {
    Size int
    Addr string
    Num *int
}
func unmarshalTest() {
    value := []byte("null")
    a := Apple{}
    if err := json.Unmarshal(value, a); err != nil {
        fmt.Println("json.Unmarshal failed:", err)
        return
    }
    fmt.Printf("result:%+v\n", a)
}

output:

result:{Size:0 Addr: Num:nil>}

如果"null"作為json字符串,轉換為slice后,值為[]。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • golang json數組拼接的實例
  • 在golang xorm中使用postgresql的json,array類型的操作
  • golang中json小談之字符串轉浮點數的操作
  • golang 實現json類型不確定時的轉換
  • golang中json的omitempty使用操作
  • 解決Golang json序列化字符串時多了\的情況
  • golang中json和struct的使用說明

標簽:物業服務 電子產品 安康 儋州 遼寧 海南 西雙版納 青海

巨人網絡通訊聲明:本文標題《golang:json 反序列化的[]和nil操作》,本文關鍵詞  golang,json,反,序列化,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang:json 反序列化的[]和nil操作》相關的同類信息!
  • 本頁收集關于golang:json 反序列化的[]和nil操作的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 威远县| 云浮市| 四川省| 沁阳市| 梓潼县| 恩施市| 武隆县| 乐山市| 青龙| 广德县| 金塔县| 石门县| 芒康县| 鹤壁市| 益阳市| 永新县| 浏阳市| 包头市| 灵寿县| 张掖市| 武功县| 武威市| 福清市| 莱州市| 盈江县| 诸暨市| 兴城市| 丰县| 新和县| 蒙自县| 乃东县| 苍梧县| 房山区| 富民县| 亳州市| 柳林县| 佛冈县| 淮安市| 昂仁县| 青阳县| 连州市|