drqvsx1228 2018-02-21 16:53 采纳率: 0%
浏览 45
已采纳

GoLang中的动态嵌套结构

I am learning golang and want to write generic response from microservices response.

My General Response is like:

type GeneralResponse struct {
    Success string
    Message string
    Data    string
    Error   string
}

In the Data section I want to return any json, say list of Person, Instruments or any type of objects.

But it should be another json. I tried assigning other json objects but it did not work. It is fine if I dump json array as string into it but it should unmarshal from receiver end. How should I go about it?

I am trying over here. https://play.golang.org/p/dc0uKtS76aA

  • 写回答

4条回答 默认 最新

  • dongzuan4491 2018-02-21 16:57
    关注

    You should use RawMessage in the type definition

    type GeneralResponse struct {
      Success string
      Message string
      Data    json.RawMessage
      Error   string
    }
    

    and subsequently push a Marshalled json into that attribute. You can do that by encoding other types in []bytes and setting them to the Data attribute.

    Like in https://play.golang.org/p/CyoN5pe_aNV

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突