首页 >后端开发 >Golang >如何正确地将 JSON 解组为 google.protobuf.Value 类型的 Protobuf 结构字段?

如何正确地将 JSON 解组为 google.protobuf.Value 类型的 Protobuf 结构字段?

Patricia Arquette
Patricia Arquette原创
2024-11-03 03:15:021035浏览

How to Properly Unmarshal JSON into a Protobuf Struct Field of Type google.protobuf.Value?

从 JSON 解组 Protobuf 结构字段

尝试将 JSON 字符串解组为 google.protobuf.Value 类型的 protobuf 结构字段时,结果字段可能会变成 nil。使用“encoding/json”库进行数据转换时可能会发生这种情况。

解决方案:

要正确将 JSON 解组到 google.protobuf.Value 字段,它建议使用 google.golang.org/protobuf/encoding/protojson 包。正确的解组代码是:

req := &proto.JobCreateRequest{}
err := protojson.Unmarshal(bytes, req)

这个包提供了一个专门的解码器,用于将 JSON 转换为 protobuf 结构。它正确处理 google.protobuf.Value 字段的转换,确保它们正确解组。

以上是如何正确地将 JSON 解组为 google.protobuf.Value 类型的 Protobuf 结构字段?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn