1 回答

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
將附加信息、代理和右括號(hào)寫入響應(yīng):
io.WriteString(w, "{")
io.WriteString(w, AdditionalInfo)
json.NewEncoder(w).Encode(AllAgents)
io.WriteString(w, "]}") // closing ] for data and closing } for root
[ ]請(qǐng)注意,這對(duì)代理進(jìn)行了兩個(gè)級(jí)別的編碼。目前還不清楚這是否是您想要的。
另一種方法是創(chuàng)建一個(gè)與輸出結(jié)構(gòu)匹配的 Go 值并對(duì)其進(jìn)行編碼:
v := map[string]interface{}{
"meta": map[string]interface{}{
"page": 1,
"pages": 1,
"perpage": -1,
"total": 350,
"sort": "asc",
"field": "RecordID",
},
"data": AllAgents,
}
if err := json.NewEncoder(w).Encode(v); err != nil {
// handle error
}
同樣,不清楚您希望在代理周圍嵌套多少。您可能需要這種變化:
v := map[string]interface{}{
"meta": map[string]interface{}{
"page": 1,
"pages": 1,
"perpage": -1,
"total": 350,
"sort": "asc",
"field": "RecordID",
},
"data": []interface{}{AllAgents},
}
if err := json.NewEncoder(w).Encode(v); err != nil {
// handle error
}
回復(fù):效率創(chuàng)建最終大小的切片通常比使用append. 通過(guò)使用指針切片[]*SingleAgent而不是結(jié)構(gòu)值切片可能會(huì)獲得一些效率[]SingleAgent。
- 1 回答
- 0 關(guān)注
- 132 瀏覽
添加回答
舉報(bào)