第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在json中發(fā)送null

在json中發(fā)送null

Go
BIG陽 2021-11-08 10:05:05
type JobTitles struct {    Titles []string `json:"titles"`}chiefTitles := []string{"CEO", "CFO", null, "CMO"}jsonOut := JobTitles{chiefTitles}在上面的代碼中,我希望能夠?qū)ull作為我的 json 字符串數(shù)組中的值之一發(fā)送。但是,上面的內(nèi)容不會編譯,如果我給null添加雙引號,它就會變成一個字符串而不是 null 值。如何在 GO 中的 json 響應(yīng)中發(fā)送null?這篇文章似乎有幫助,但看起來與我的問題相反。
查看完整描述

2 回答

?
阿波羅的戰(zhàn)車

TA貢獻1862條經(jīng)驗 獲得超6個贊

為了用值 'null' 表示該類型,它必須是一個指針。問題不在于您不能使用 null,而是字符串不能具有該值。這是我在操場上制作的一個簡單示例;https://play.golang.org/p/SXO5sBl2mR


package main


import "fmt"

import "encoding/json"


type Test struct {

    A *string

    B *string

}


func main() {

        s := "Something"

        t := Test{A:&s, B:nil}

        b, err := json.Marshal(t)

        if err != nil {

            fmt.Println(err)

        }

    fmt.Println(string(b))

}

正如 DaveC 提到的,使用指針制造者初始化有點麻煩,但你可以使用我上面提到的相同類型的構(gòu)造;聲明一個字符串,&在復合文字中使用該字符串。


查看完整回答
反對 回復 2021-11-08
?
喵喔喔

TA貢獻1735條經(jīng)驗 獲得超5個贊

您將不得不*string改用并創(chuàng)建一個輔助函數(shù)以使其更容易,大致如下:


func main() {

    chiefTitles := []*string{sP("CEO"), sP("CFO"), nil, sP("CMO")}


    b, _ := json.Marshal(JobTitles{chiefTitles})


    fmt.Println(string(b))

}


type JobTitles struct {

    Titles []*string `json:"titles"`

}


func sP(s string) *string {

    return &s

}


查看完整回答
反對 回復 2021-11-08
  • 2 回答
  • 0 關(guān)注
  • 522 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號