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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在一個(gè)字段中創(chuàng)建具有 nil 值的映射,然后將其編組為 json?

如何在一個(gè)字段中創(chuàng)建具有 nil 值的映射,然后將其編組為 json?

Go
幕布斯7119047 2023-06-19 16:11:43
我需要獲取 json 字符串{"Error": null }我可以使用這種方法來做到這一點(diǎn)type OKResponse struct {    Error *int `json:"Error"`}encoded, err := json.Marshal(OKResponse{})...我如何使用地圖獲得相同的結(jié)果?或者這是不可能的?例如這樣的事情jsonbody := map[string]int{"Error": nil}encoded, err := json.Marshal(&jsonbody)...
查看完整描述

3 回答

?
萬千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

對于這種特殊情況,您可以使用:

jsonbody := map[string]error{"Error": nil}

但對于更一般化的情況,您還可以使用:

jsonbody := map[string]interface{}{"Error": nil}

兩種方法都會(huì)產(chǎn)生:

{"Error":null}


查看完整回答
反對 回復(fù) 2023-06-19
?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

如果將類型更改為*int,它將執(zhí)行您想要的操作:


type OKResponse struct {

    Error *int `json:"Error"`

}

例子:


r1 := OKResponse{}

result1, _ := json.Marshal(r1)

fmt.Printf("result1 = %s\n", string(result1))


errNo := 1

r2 := OKResponse{Error: &errNo}

result2, _ := json.Marshal(r2)

fmt.Printf("result2 = %s\n", string(result2))

輸出:


result1 = {"Error":null}

result2 = {"Error":1}

在操場上看到它。



查看完整回答
反對 回復(fù) 2023-06-19
?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

由于 number 無法獲得nil值,因此您不能那樣做。


您可以做的是使用指針類型,然后就可以完成,例如:


package main


import (

    "fmt"

    "encoding/json"

)


func main() {

    jsonbody := map[string]*int{"Error": nil}

    encoded, _ := json.Marshal(&jsonbody)

    fmt.Printf("%s", encoded)


    num := 6

    jsonbody = map[string]*int{"Error": &num}

    encoded, _ = json.Marshal(&jsonbody)

    fmt.Printf("%s", encoded)

}

https://play.golang.org/p/TTpgr7Cy17C


查看完整回答
反對 回復(fù) 2023-06-19
  • 3 回答
  • 0 關(guān)注
  • 159 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

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