![](/img/trans.png)
[英]Converting internal go struct array to protobuf generated pointer array
[英]Converting Go []interface{} to protobuf Repeated Array
我有一個用 Go 編寫的服務,它從 rest api 獲取數據並將該數據作為 grpc 服務器返回。 我得到了一組 object。 我想通過 grpc protobuf 文件返回它。 但由於類型問題,它一直失敗,因為來自 api 的數據是 []interface{},我不知道如何通過 protobuf 響應返回它。
下面是 go 語言代碼
return &waas.BankListResponse{
Status: result.Data["Status"].(bool),
Message: result.Data["Message"].(string),
Data: result.Data["banks"].([]*waas.Banks),
}, nil
原型文件
message banks {
string bankCode = 1;
string bankName = 2;
}
message BankListResponse {
bool Status =1;
string Message = 2;
repeated banks data = 3;
}
所以result.Data["bank"]
是銀行數組,數據類型是[]interface{}
樣本數據
{
"banks": [
{
"bankCode":"",
"bankName":""
},
{
"bankCode":"",
"bankName":""
}
]
}
所以有人可以幫我指出如何在原始文件中返回這些數據。
您需要編寫自定義代碼將數據從接口傳輸到您的原型 object。 您將返回這個新的原型 object 作為響應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.