簡體   English   中英

將 Go []interface{} 轉換為 protobuf 重復數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM