亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何從 bson 文檔渲染 json 字符串

如何從 bson 文檔渲染 json 字符串

Go
森林海 2023-08-07 10:44:02
我正在努力從 Go 中的 BSON 文檔為 API 創建有效的 JSON 字符串。假設我有一個這樣的對象:type MyObject struct {    Name string}我稱我的數據庫為我返回一個包含許多文檔的游標:[{"Name": "object_name"}, ...]我可以通過像這樣的循環檢索所有文檔for cur.Next(ctx) {    var obj MyObject    err := cur.Decode(&obj)    //then display error if there's one        }現在我想得到一個 JSON 字符串,其中包含我的數據庫返回的所有文檔,以便通過 HTTP 發送它。因為,如果使用 I,fmt.Println(obj)我最終會得到這樣的結果:[{object1_name} {object2_name} ...]根據我的說法,這不是我可以用于 API 的有效格式。我知道json.Marshal(obj)實際上可以編碼為有效的 JSON,并且可以使用它進行解碼os.Stdout.Write(obj),但我沒有設法將此有效字符串存儲在變量中。我怎樣才能做到這一點?
查看完整描述

1 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

來自包的Golang文檔json


package main


import (

? ? "encoding/json"

? ? "fmt"

)


func main() {

? ? type ColorGroup struct {

? ? ? ? ID? ? ?int? ? ? `json:"id"`

? ? ? ? Name? ?string? ?`json:"name"`

? ? ? ? Colors []string `json:"colors"`

? ? }

? ? group := ColorGroup{

? ? ? ? ID:? ? ?1,

? ? ? ? Name:? ?"Reds",

? ? ? ? Colors: []string{"Crimson", "Red", "Ruby", "Maroon"},

? ? }

? ? b, err := json.Marshal(group)

? ? if err != nil {

? ? ? ? fmt.Println("error:", err)

? ? } else {

? ? ? ? str := string(b)

? ? ? ? fmt.Println("stringified json is:", str)


? ? }

}



Output

stringified json is: {"id":1,"name":"Reds","colors":["Crimson","Red","Ruby","Maroon"]}

返回json.Marshal兩個值 - abyte array和error Iferror則可以通過轉換為使用 來nil獲取字符串byte arraystringstr := string(b)




查看完整回答
反對 回復 2023-08-07
  • 1 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號